我需要使用CFile检查文件是否以中断行结束。我试过的是:
\r\n这是我的代码:
cfile.SeekToEnd();
cfile.Seek(-2, CFile::current);
char buffer[2];
cfile.Read(buffer, 2);
if(buffer[0] == '\r' && buffer[1] == '\n') printf("Ended with line break!");
else printf("Not ended with line break!");但是,我发现缓冲区给了我一个\n字符和一个垃圾字符(值很奇怪,比如204)。在对文档进行了一些研究之后,我发现CFile::Read只将\r\n计算为单个字符:
对于文本模式文件,回车返回行提要对被计算为单个字符.
我很困惑,因为文件指针显然仍然计数两个字符,但我不能同时得到两个字符。有什么方法可以用CFile检查文件末尾的断行吗?
发布于 2016-11-08 05:30:15
我在打开文件时使用CFile::typeBinary解决了这个问题。
CFile::typeText似乎做了一些特殊的处理回车
https://stackoverflow.com/questions/39874498
复制相似问题