から奇妙なファイル ハンドルを取得していますfopen
。ポインター自体は NULL ではありませんが、それが表すファイルにはサイズがなく、feof(file)
既に設定されています...何が原因でしょうか?
(ファイル自体をトリプルチェックしました。存在し、データがあり、ファイルの権限は問題ありません...そしてfilename
「source/test_file.object.txt」に設定されています)
bool tagFile(const char * filename){
FILE * file = fopen(filename, "r");
if(file == NULL){ // file is not NULL
printf(" Couldn't open the file %s", filename);
return false;
}
int size = fseek(file, 0, SEEK_END); // size is 0
rewind(file);
while(feof(file)){
.... // never executes because feof(file) fails
}
}
0x002cc410 // value of 'file' in the debugger
_ptr=0x00000000 <Bad Ptr>
_cnt=0
_base=0x00000000 <Bad Ptr>
_flag = 1
_file = 3