首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在.txt文件中保存泰语

如何在.txt文件中保存泰语
EN

Stack Overflow用户
提问于 2014-01-01 02:22:38
回答 1查看 1.4K关注 0票数 1

我希望将文本作为泰国字符在编辑控件中保存在.txt文件中。问题是,在.txt文件中,泰国字符显示为???,但是英文字符和数字没有问题。

我该怎么做?

代码语言:javascript
运行
复制
char* getStringFromCString(CString& x) // code convert string
{
    char * temp = new char[(x.GetLength()) + 1];
    int i = 0;
    for (; i < x.GetLength(); i++)
    {
        temp[i] = x[i];
    }
    temp[i] = '\0';
    return temp;
}

void CPictureDlg::OnBnClickedButtonSave() // Save.txt files
{
    CString ss[2];
    CITIZEN_ID.GetWindowTextW(ss[0]);
    Name_text.GetWindowTextW(ss[1]);
    char* citizen = getStringFromCString(ss[0]);
    char* name = getStringFromCString(ss[1]);
    std::ofstream myfile;
    myfile.open("example.txt", std::ios::out | std::ios::app);
    myfile << citizen << "\t" << name;
    myfile.close();
    UpdateData(FALSE);
}
EN

回答 1

Stack Overflow用户

发布于 2014-01-01 03:48:55

  • 问题

首先,您必须使用Unicode。请阅读这个文章。其次,您的getStringFromCString()有一个出现内存泄漏的问题。

  • 方法

泰语字符集使用Unicode,std:wofstreamstd:locale

代码语言:javascript
运行
复制
std::wofstream myfile;

//I just checked for Korean, you may need std::locale("thai").  
myfile.imbue(std::locale("kor"));

myfile.open("example.txt", std::ios::out | std::ios::app);
myfile << input.GetString();
myfile.close();

我希望这能对你有所帮助。新年快乐~

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20865029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档