小编ash*_*ash的帖子

如何在C++/VC++中将日志写入64KB大小的文件?

如何将日志写入大小为64KB的文件(允许记事本读取).一旦文件达到64KB,它应该开头创建另一个,另一个......文件名可以自动生成.

我尝试了以下代码

static int iCounter=1;
CString temp;
      static CStdioFile f(L"c:\\Log1.txt", CFile::modeWrite | CFile::modeRead |  CFile::modeCreate | CFile::modeNoTruncate);

 int nlength = (int)f.GetLength();
 if(nlength>(nMaxFileSize*1024))
 {
     //need to create a new file
     f.Close();
     iCounter++;
     temp.Format(_T("%s%d%s"), "c:\\Log",iCounter, ".txt");
     f.Open(temp,CFile::modeWrite | CFile::modeRead | CFile::modeCreate | CFile::modeNoTruncate);

 }
 f.SeekToEnd();
 f.WriteString(str);
 f.WriteString(L"\r\n");
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个更好的选择.

c++ file-io logging visual-c++

2
推荐指数
1
解决办法
1276
查看次数

标签 统计

c++ ×1

file-io ×1

logging ×1

visual-c++ ×1