CSVSUP.DLL
ホーム > ダウンロードエリア > CSVSUP.DLL
| Version | 1.01(2006/11/19) |
| 種類 | フリーソフト |
| 備考 |
|
| DL数 | 976
|

CSVファイルの解析を補助するDLLです。CSVファイルから読み取った行をこのDLLに渡せば、データ毎に区切られて文字列で返します。
| OS | Windows 全般 |
| 言語 | Visual C++ 6.0 にて作成 |
v1.01(2006/11/19)
・メモリ確保時にエラーになった場合の対応を追加
1.はじめに
このDLLは、CSVファイルの読み取りをサポートします。
区切りはカンマ(,)のみサポート、ダブルコーテーション(")で括ってある
項目の読み取りも可能です。
csvsup.dll の利用にあたって何らかの費用が発生する事はありません。
会社で使うもよし、個人で使うもよしです。ただし、販売目的のソフトに
同梱させる場合は必ず作者まで問い合わせてください。
2.関数の説明
/*----------------------------------------------------------------*/
char * CSVSUP_GetVersion(void);
/*----------------------------------------------------------------*/
DLLのバージョンを返します。
返値は char型のポインタです。
例:v1.00の場合、"1.00(2001/09/16)"(ダブルクォーテーションは含まない)
へのポインタが返ってきます。
/*----------------------------------------------------------------*/
int CSVSUP_GetVersionX(void);
/*----------------------------------------------------------------*/
DLLのバージョンを返します。
返値は int型で、1000倍されています。
例:v1.00の場合、1000が返ってきます。
v1.00aの場合、1001が返ってきます。
/*----------------------------------------------------------------*/
int CSVSUP_GetVersionCompatible(void);
/*----------------------------------------------------------------*/
下位互換性を保証しているバージョンを返します。
バージョンはv1.00なら1000が返ってきます。
このバージョンと利用バージョンと比較を行い、DLLが保証している
バージョンよりも新しいと判断できる場合は中止などの処理を入れてください。
(実際には作成時前提となるバージョンと下位互換性バージョンを比較します。
v1.00を対象として作成しているなら、1000より上が返ってくれば中止します。)
/*----------------------------------------------------------------*/
void CSVSUP_MemoryFree(void *lp);
/*----------------------------------------------------------------*/
csvsup.dll 内で確保したメモリを開放します。
/*----------------------------------------------------------------*/
int CSVSUP_CSV_Analyze(char *pszData, char **ppszRet, int *piRetSize);
/*----------------------------------------------------------------*/
CSVファイルを解析します。
*pszData に解析する文字列(1ライン)を、
**ppszRet に解析した結果を返す文字列のポインタを、
*piRetSize に解析した結果の文字列サイズを返すポインタを設定します。
返す文字列は、項目(カンマ)ごとに'\0'で区切られ、最後は'\0''\0'と
なります。サイズはこのEndMarkを含むサイズを返します。エラーの場合は
-1が返ります。
3.使い方の例
#include <stdio.h>
#include "csvsup.h"
WinMain(...)
{
int i;
int iRet;
char *pszRet;
char szLine[256];
char *p;
FILE *fp;
// 上位バージョンのチェック(1.01に互換性が無いか)
if( CSVSUP_GetVersionCompatible() > 1010 ) {
return FALSE;
}
// ファイルを開き、毎行解析する
fp = fopen("test.csv", "r");
while( fgets(fp, szLine, 256) ) {
pszRet = NULL;
i = CSVSUP_CSV_Analyze(szLine, &pszRet, &iRet);
if( i > 0 ) {
for(p=pszRet; p+=strlen(pszRet)+1; p!='\0') {
// ここに処理を記述します
}
CSVSUP_MemoryFree(pszRet);
}
}
fclose(fp);
return TRUE;
}
4.免責、注意事項
csvsup.dll を利用して何らかの損害を被ったとしても、作者は一切
その責任を負わないものとします。これに同意できない場合は利用しないで
ください。
データによっては正常に動作しないことがあるかもしれません。
その際はご連絡ください。