CString str="张三,23423,2434234,[email protected]";
infoFile.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();

解决方案 »

  1.   

    To: seu07201213(汪洋中的一片叶子)
      不行哦,写出的内容中的中文显示不正常,而且整个长度显示不对:(
      

  2.   

    那就用CStdioFile::WriteString
      

  3.   

    我也测试了,在单独的应用程序中是正常的,我现在是在DLL中,不知道怎么就不正常了呢:(
      

  4.   

    void WriteLog(const char* strFmt,...)
    {
    string FileLog;
    FileLog=WorkPath;
    FileLog.append(_T("log_"));
    char szBuf[1024];
    string strBuf;
    va_list varlist;
    va_start(varlist,strFmt);
    vsprintf(szBuf,strFmt,varlist);
    va_end(varlist);
    SYSTEMTIME tm;
    GetLocalTime(&tm);
    char szTime[30], tFile[30];
    sprintf(szTime,"%d-%02d-%02d %02d:%02d:%02d ",tm.wYear,tm.wMonth,tm.wDay,tm.wHour,tm.wMinute,tm.wSecond);
    sprintf(tFile, "%d-%02d-%02d", tm.wYear,tm.wMonth,tm.wDay);
    strBuf=string(szTime);
    strBuf.append(string(szBuf));
    strBuf.append("\t\n");
    FileLog.append(tFile);
    FileLog.append(".txt");
    FILE*  fp;
      fp=fopen(FileLog.c_str(),"a");
    fwrite(strBuf.c_str(),strBuf.length(),1,fp);
    fclose(fp);
    }
      

  5.   

    小弟用的是Unicode环境哦,这个是不是也有影响啊?
      

  6.   

    用WideCharToMultiByte把CString转换
      

  7.   

    Unicode环境的没有试过,你试一试不就知道了。