读取中文文件到CString

 

  

CString strFileName = _T("D:\\ai\\100.json");
    CFile file;
    file.Open(strFileName, CFile::modeRead);
    INT sz = file.GetLength();
    WCHAR *wBuf = new WCHAR[sz + 1];
    char* buffer_src = new char[sz + 1];
    file.Read(buffer_src, sz * sizeof(char));
    buffer_src[sz] = '\0';
    wBuf[sz] = '\0';
    file.Close();
    MultiByteToWideChar(CP_UTF8,0,buffer_src,-1,wBuf,sz + 1);
    CString strJson1(buffer_src);
    OutputDebugString(strJson1);
    CString strJson2(wBuf); // wBuf这里已经是中文的了
    OutputDebugString(strJson2);

    //buffer_src转为wBuf一样的非乱码中文
    WideCharToMultiByte(CP_ACP,0,wBuf,-1,buffer_src,sz + 1,0,0);
    CString strJson(buffer_src);
    OutputDebugString(strJson);
    CString strJson3(wBuf);
    OutputDebugString(strJson3);
    delete []buffer_src;
    buffer_src = nullptr;
    delete []wBuf;
    wBuf = nullptr;

 

posted @ 2019-08-15 16:00  曦花  阅读(535)  评论(0编辑  收藏  举报