我对宽流输出有疑问。我主要关心的是 wofstream 但 wcout 也不能正常工作。所以除了拉丁字符之外它不会产生输出。那是
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
wstring wstr = L"Андрей";
wofstream fout(L"C:\\Work\\report.htm");
wcout << wstr << L"Привет мир";
fout << wstr << L"Привет мир";
fout.close();
}
不产生输出,文件保持 0 字节长。
像wcout<<L"zuhщзг"
打印一样混合只是“zuh”,忽略其余部分。
我将 MVS 2013 与 Intel C++ Composer 14.0 一起使用
编辑: Windows Unicode C++ Stream Output Failure描述了类似的问题。但我不太明白解决方案是如何工作的。MVS/Windows 对宽字符串使用 UTF-16。我希望它们按原样写入文件中,即 utf-16,没有任何不必要的转换