为什么读取文件会出错?
文件读写字符串,
写入代码是:
const char * szString;
...
int nLen=strlen(szString)+1;
fwrite(&nLen,sizeof(int),1,pFile);
fwrite(szString,1,nLen,pFile);
读取代码:
int nLen;
char * szString;
fread(&nLen,sizeof(int),1,pFile);//这里错,nLen是一个非常大的值
szString=(char *)malloc(nLen);
fread(szString,1,nLen,pFile);
这个错误有时候有,有时候没有,为什么?
问题点数:100、回复次数:2Top
1 楼stonespace(stonespace)回复于 2002-10-07 16:56:34 得分 100
文件用二进制方式打开?如果用文本方式打开,读写对\r\n进行处理,有可能会有问题。
Top
2 楼token_lys(token)回复于 2002-10-07 17:02:30 得分 0
ok,忘了应该用二进制方式打开。Top




