c++ - 如何可移植地将 std::wstring 写入文件?

标签 c++ file unicode wstring wofstream

我有一个 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/

相关文章:

php mcrypt_encrypt 到 C/C++/MFC equalivilent

java - 将java对象写入.csv

c++ - 如何从 C 代码调用 powershell 脚本

c++ - 使用 VMIME/libcurl 不通过服务器发送电子邮件(或 : SMTP server library)

c++ - 将文件读入字符串缓冲区并检测 EOF

java - 检查字符串是否仅包含 Unicode 值 [\u0030-\u0039] 或 [\u0660-\u0669]

python-2.7 - 从 python I/O 输出到文件的 Unicode 字符

Python - 逐字节读取UTF-8编码的字符串

c++ - 值传递和 std::move 与转发引用

python - 读取两行的值并用python写入一行