用vc写了一个log文件,打开看时正常,但一修改保存,所有的回车都丢失了。为什么?
CStdioFile file;
file.Open(Logname,CFile::modeCreate | CFile::modeWrite|CFile::modeNoTruncate);
file.SeekToEnd();
file.WriteString(Message);
file.WriteString("\r\n");
file.Close();
return true;
CStdioFile file;
file.Open(Logname,CFile::modeCreate | CFile::modeWrite|CFile::modeNoTruncate);
file.SeekToEnd();
file.WriteString(Message);
file.WriteString("\r\n");
file.Close();
return true;
file.WriteString(Message);
file.WriteString("\r\n");
=============================
file.SeekToEnd();
file.WriteString(Message);
file.SeekToEnd();
file.WriteString("\r\n");
试试
BOOL CLog::WriteLog(CString Message)
{
CStdioFile file;
file.Open(Logname,CFile::modeCreate | CFile::modeWrite|CFile::modeNoTruncate);
file.SeekToEnd();
file.WriteString(Message);
file.WriteString("\r\n");
file.Close();
return true;}
这位小哥说的对~不信就试吧,等论坛的间隙都做出来了~
不信你按照你的方式读一个图片试试~,读到默认为0的时候就自己断了,从下行接着读,丢不少数据~fread fget还是不大一样的查查msdn吧~
linux的text文件都没有回车(0x0D),只有换行(0x0A)。
而windows(DOS)text有回车(0x0D),和换行(0x0A)。
如果打开模式是text,读linux文件时会加入时回车(0x0D),成了回车换行。
而写入linux文件时会删除回车(0x0D),只剩换行(0x0A)。
、、
如果打开模式是bianry则不管读和写,回车(0x0D)会保留。