我有一个 wstring
声明如下:
// random wstring
std::wstring str = L"abcàdëefŸg€hhhhhhhµa";
文字将是 UTF-8 编码的,因为我的源文件是。
[编辑:根据 Mark Ransom 的说法,这不一定是这种情况,编译器将决定使用什么编码 - 让我们假设我从一个编码的文件中读取这个字符串,例如UTF-8]
我非常想把它读入文件中(当文本编辑器设置为正确的编码时)
abcàdëefŸg€hhhhhhhµa
但是ofstream
不是很配合(拒绝接受wstring
参数),并且wofstream
据说需要知道语言环境和编码设置。我只想输出这组字节。一般人是怎么做到的?
编辑:它必须是跨平台的,并且不应依赖编码为 UTF-8。我只是碰巧有一组字节存储在 wstring
中,并且想要输出它们。它很可能是 UTF-16 或纯 ASCII。
最佳答案
对于 std::wstring
你需要 std::wofstream
std::wofstream f(L"C:\\some file.txt");
f << str;
f.close();
关于c++ - 如何可移植地将 std::wstring 写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053918/