读书人

fread读回车有关问题

发布时间: 2012-02-12 17:16:33 作者: rapoo

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 操作函数必须使用 二进制方式操作文件,
否则 读取/写入的 的字节数目可能不正确 ~

读书人网 >C语言

热点推荐