私が実行している場合:C++関数fread変更FGETPOS妙
FILE* pFile = fopen("c:\\08.bin", "r");
fpos_t pos;
char buf[5000];
int ret = fread(&buf, 1, 9, pFile);
fgetpos(pFile, &pos);
予想通り、私は
FILE* pFile = fopen("c:\\08.bin", "r");
fpos_t pos;
char buf[5000];
int ret = fread(&buf, 1, 10, pFile);
fgetpos(pFile, &pos);
RET = 10を実行する場合、私は、しかし= 9
RET = 9とPOSを取得し、しかしpos = 11!
これはどのようにすることができますか?
あなたがバイナリモードでファイルを開く必要があり
C標準で指摘されているように、「fgetpos()によって格納された値には、fgetpos関数が呼び出すときに ストリームをその位置に再配置するために使用できる不特定の情報が含まれています。 –
私が今まで読んだような標準的な例の罰金としての例! –