fread读回车问题
程序如下:
read = 1;
nSize = 8;
nFinishSize = 0;
fseek(preFile, 0, SEEK_SET);
fseek(tempFile, 0, SEEK_END);
while(read> 0)
{
read = fread(buff, nSize, 1, fp1);
fwrite(buff, size, 1, fp2);
nFinishSize += size;
fseek(fp1, nFinishSize, SEEK_SET);
fseek(fp2, nFinishSize, SEEK_SET);
}
文件内容:
AAA
AAJJSS
读一次8个字符,buff为
AAA
AAJJ
为什么fread读回车时,只读到一个字符?而从文件大小来看,回车是两个字符
[解决办法]
FILE *fp1=fopen( "??? ", "rb "); //如果是 r 方式,读取的字符数是不正确的
fread/fwrite 操作函数必须使用 二进制方式操作文件,
否则 读取/写入的 的字节数目可能不正确 ~