내가 특정에 파일 오프셋 (간체 버전)를 읽을려고에 도달하지 않을 때 진정한 반환 : 데이터가 1008 바이트를 포함하지 않습니다,무엇이 일어 났는지를 결정하기 위해 feof() EOF가
typedef unsigned char u8;
FILE *data_fp = fopen("C:\\some_file.dat", "r");
fseek(data_fp, 0x004d0a68, SEEK_SET); // move filepointer to offset
u8 *data = new u8[0x3F0];
fread(data, 0x3F0, 1, data_fp);
delete[] data;
fclose(data_fp);
문제가된다을, 그러나 529 (무작위로 보인다). 529 바이트에 도달하면 feof (data_fp)를 호출하면 true가 반환됩니다.
나는 또한 작은 덩어리 (한 번에 8 바이트)로 읽으려고했으나 아직 없으면 EOF를 치는 것처럼 보입니다.
16 진수 편집기의 간단한 모양은 there are plenty of bytes left입니다.
@pmg malloc/free를 사용하면 내 문제는 해결되지 않지만 자신에게 적합합니다. –
C (C++은 잘 모르겠습니다) 이진 모드에서 파일을 열어 봅니다. – pmg
@pmg, 젠장! 그것은 간단했습니다 ... 대답을 만들어주십시오. 나는 그것을 받아 들일 것입니다. –