【发布时间】:2020-01-12 17:09:15
【问题描述】:
我需要将 unicode 符号打印到文件中,但我得到了它们的代码。
这是一个例子:
#include <iostream>
#include <fstream>
using namespace std;
int main () {
int code = 33;
wchar_t sym = wchar_t(code);
ofstream output ("output.txt");
output << sym << "\n";
output.close();
return 0;
}
所以我希望在我的文件中看到!,但我看到的是33。我该如何解决?
【问题讨论】:
-
你不应该使用 wofstream 吗? cplusplus.com/reference/fstream/wofstream
-
是的,请改用
std::wofstream。仅供参考,cplusplus.com 通常被认为是一个糟糕的 C++ 参考站点,您应该使用 cppreference.com (wofstream) -
你想要 UTF-8 还是 UTF-16?你想BOM在文件的开头吗?您的查看器是否以正确的格式打开文件?