#include #include #include #define TRUE 0 #define FALSE -1 void main(void){ int fildes; struct stat info; char dir[] = "/QATMHSTOUT/ERR404.HTM"; long len; char* buf; /* ポインタとして定義 */ if((fildes = open(dir, O_RDONLY)) == FALSE){ printf("NOT FOUND %s\n", dir); getchar(); return; } /*( ファイル・サイズを取得 )*/ if(lstat(dir, &info) == FALSE){ printf("CANNOT GET FILE SIZE\n"); getchar(); return(FALSE); } len = (long)info.st_allocsize; /*( 読み取りバッファーを確保 )*/ buf = (unsigned char *)malloc(len); memset(buf, 0, sizeof(buf)); byte_red = read(fildes, buf, len); printf("READ OK\n");/*DEBUG*/ getchar(); buf[byte_red] = 0x00; pos = 0; #pragma convert(850) ptr = strstr(buf, "T1.SHCODE"); #pragma convert(0) if(ptr != NULL){ pos = (int)(ptr - buf); printf("found SHCODE = %d\n", pos);getchar(); } else{ printf("not found SHCODE\n");getchar(); } getchar(); }