in = fopen("input.file","r");
int res = fgetc(in);
此时,如果in = 0x1A的话,res = EOF,
如果靠这个来判断文件是否结束,则会出错。
正确的做法是
fopen("input.file","rb");
out =
fopen("output.file","w");
如果此时向文件中写入0x0A,会有什么后果?
实际上写入的是0D0A!!!
正确的做法是
fopen("output.file","wb");
这点错误居然耽误了我一天的时间,汗阿!!!
C语言文件操作的常见错误及解决
博客主要讲述了C语言文件操作中的两个问题。一是判断文件结束时,若以in = 0x1A时res = EOF来判断会出错,应使用fopen(\input.file\\rb\);二是向文件写入0x0A时实际写入0D0A,正确做法是用fopen(\output.file\\wb\)。
1843

被折叠的 条评论
为什么被折叠?



