gpt4 book ai didi

c++ - 无法将带有俄语字符的 wstring 写入文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:13 26 4
gpt4 key购买 nike

我正在尝试在 Linux 中使用以下代码中的 C++ 代码编写 wstrings(俄语):

ofstream outWFile;
outWFile.open("input.tab");
outWFile<< WStringToString(w->get_form());
outWFile<<"\t";
outWFile<<WStringToString(w->get_tag());

std::string WStringToString(const std::wstring& s)
{
std::string temp(s.length(),' ');
std::copy(s.begin(), s.end(), temp.begin());
return temp;
}

input.tab 内容无效

我已尝试执行 stackoverflow 中建议的操作,包括 Unable to write a std::wstring into wofstream然而我没有帮忙。提前谢谢你

最佳答案

您的转换函数有问题:它最终会弄乱代码点为 128/256 或更大(取决于您的语言环境)的所有字符。

改用 wcstombs(确保使用 UTF-8 语言环境)。

关于c++ - 无法将带有俄语字符的 wstring 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11960286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com