作者:百变精装绣 | 来源:互联网 | 2023-05-17 20:43
test.txt内容如下
l
s
e
d
e
s
x
我用CFile读后GetLength() 结果为19
谁解释一下
7 个解决方案
CFile file("c:\\test.txt", CFile::modeRead);
CString t;
t.Format("%ld", file.GetLength());
AfxMessageBox(t);
并且我发现CStdioFile写数据也有问题.用CFile读的数据,用CStdioFile写出来的换行全成了黑框框,要换.doc才能看到正常换行..
上面文件实际存盘内容如下
l,0x0a,0x0d,s,0x0a,0x0d,e,0x0a,0x0d,d,0x0a,0x0d,e,0x0a,0x0d,s,0x0a,0x0d,x
楼主数一数,因此,返回文件长度为19是正确地
楼上问题,建议你学习一下标准C的fopen,fread,fgets,fwrite,fprintf,fscanf,fclose等,
先打好基础,然后掌握MFC的文件处理类,文件处理看似简单,实际需要很多的仔细的工作。
你说的"换行全成了黑框框"情况是正确的,你使用的文件处理方式有问题