读书人

二进制遍历读取文件如何操作好

发布时间: 2012-06-12 14:21:25 作者: rapoo

二进制遍历读取文件怎么操作好?
fgetc(inFile);

这样可以么?怎么判断操作到文件尾了呢?

我想要一个字节一个字节的遍历读取二进制文件内容,该怎么操作?

[解决办法]

探讨

fopen_s(&inFile, fileName, "r");

while (!feof(inFile))
{
val = fgetc(inFile);
++uCurrentPos;
}

代码是这样的,请问是什么原因?并且有时还会出错

[解决办法]
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

仅供参考
C/C++ code
#include <stdio.h>FILE *fi,*fo;void main() {    fo=fopen("500M.out","wb");    fi=fopen("500M.in","rb");    fseek(fi,-1L,SEEK_END);    while (1) {        fputc(fgetc(fi),fo);        if (fseek(fi,-2,SEEK_CUR)) break;    }    fclose(fi);    fclose(fo);} 

读书人网 >C语言

热点推荐