zoukankan      html  css  js  c++  java
  • CStdioFile.WriteString无法向文件写入中文

    CStdioFile.WriteString向文件中写入字符串,但字符串中带有中文的,无法写入。

    解决方案:

      1. 将带有中文的字符串进行转换后再写入文件。
        1. char* pBuffer = NULL;  
        2. long lBufferSize;  
        3.   
        4. lBufferSize = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, m_sRtf, -1, NULL, 0, NULL, NULL);  
        5. pBuffer = new char[lBufferSize + 1];  
        6. WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, m_sRtf, -1, pBuffer, lBufferSize + 1, NULL, NULL);  
        7.   
        8. CFile file(_T("E://a.rtf"), CFile::modeCreate | CFile::modeWrite);  
        9. file.Write(pBuffer, lBufferSize);  
        10. file.Close();  
      2. 保存文件前调用setlocale函数。
        1. setlocale(LC_CTYPE, ("chs"));  
  • 相关阅读:
    装饰器(一)
    函数内置方法
    递归
    函数(三)
    python常用模块
    python模块与包
    python内置函数
    python函数
    python文件处理
    函数编程
  • 原文地址:https://www.cnblogs.com/a9999/p/3608044.html
Copyright © 2011-2022 走看看