我用一个CStringList记录程序运行时的log,但用 .serialize成员函数存成文本文件后发现txt里每一行开头都有未知字符,上网了解后得知.serialize存的文件有二级制信息,所以会有乱码出现,请问用StringList怎么存成一个正常的文本文档?谢谢

解决方案 »

  1.   

    依次取出CStringList中的各个元素,然后写入文件中
      

  2.   

    循环遍历CStringList,然后用CStdioFile等写入文件
      

  3.   

    谢谢2楼,我是这样解决的:
             CFile theFile;
    CString LogFileName,LogString;
    LogFileName = GetTimeForLog();
            theFile.Open(_T(LogFileName+".log"), CFile::modeCreate | CFile::modeWrite);
    LogString = LogListToString();
    theFile.SeekToEnd();
    theFile.Write(LogString,LogString.GetLength());
            theFile.Close();
    //////////////////////////////////////////////////////
    }CString LogListToString()
    {
      CString LogString;
      POSITION pos;
      short i ;
      pos = LogList.GetHeadPosition();
      for (i = 0; i < LogList.GetCount(); i++)
      {  
     
         LogString = LogString + LogList.GetNext(pos) ;
      }return LogString;}