#include #include #include #include /* triml */ #include /* データ・ベース検索 API */ #define TRUE 0 #define FALSE -1 typedef struct { int BYTESPRO; int BYTESAVL; char MSGID[7]; char RESRVD; char EXCPDATA[100]; } ERRSTRUCTURE; /* Define the error return structure */ ERRSTRUCTURE errcode;/* Error Code Structure for RCVMSG */ void main(void){ char FILFILLIB[21], RECORD[11]; int format_size, fldsu, fldbuf_len, i, j, len; char* formatBuf; Qdb_Qdbfh_t qdb_qdbfh_t; Qdb_Qdbfh_t* qdb_qdbfh; /* ファイル定義ヘッダー */ Qdb_Qdbfb_t* qdb_qdbfb; /* ファイルスコープ配列 */ errcode.BYTESPRO = 0; printf("** TESTRCD: レコード名の検索テスト **\n"); getchar(); strcpy(FILFILLIB, "SEIKYU QTRFIL "); QDBRTVFD(&qdb_qdbfh_t, sizeof(Qdb_Qdbfh_t), FILFILLIB, "FILD0100", FILFILLIB, "*FIRST ", "0", "*FILETYPE ", "*EXT ", &errcode); if(errcode.BYTESAVL != 0){/*ERR*/ printf("QDBRTVFD エラー \n"); exit(-1); }/*ERR*/ format_size = qdb_qdbfh_t.Qdbfyavl; formatBuf = (char*)malloc(format_size + 1); QDBRTVFD((char*)formatBuf, format_size, FILFILLIB, "FILD0100", FILFILLIB, "*FIRST ", "0", "*FILETYPE ", "*EXT ", &errcode); if(errcode.BYTESAVL != 0){/*ERR*/ printf("QDBRTVFD エラー \n"); exit(-1); }/*ERR*/ qdb_qdbfh = (Qdb_Qdbfh_t*)formatBuf; qdb_qdbfb = (Qdb_Qdbfb_t*)((char*)qdb_qdbfh + qdb_qdbfh->Qdbfos); for(i = 0; iQdbflbnum; i++){/*for-loop-i*/ memcpy(RECORD, qdb_qdbfb->Qdbft, 10); RECORD[10] = 0x00; printf("RECORD = [%s]\n", RECORD); getchar(); qdb_qdbfb = (Qdb_Qdbfb_t*)((char*)qdb_qdbfb + sizeof(*qdb_qdbfb)); }/*for-loop-i*/ free(formatBuf); exit(0); }