我正在尝试将std :: u16string写入文件
可以使用std :: string
filenames
但是如何将std :: u16string写入文件?
由于
答案 0 :(得分:2)
您需要创建一个basic_ofstream
,其char类型等同于u16string
值类型,该类型应为char16_t
:
typedef std::basic_ofstream<char16_t> u16ofstream;
u16ofstream outfile("words.txt", std::ios_base::app);
outfile << someu16string;
outfile.close();
或者,您可以将u16string
转换为常规string
,然后将其写入普通ofstream
,但您必须处理转换并处理字符串的编码是你自己的。
wofstream
也可能与u16string
兼容,但它不可移植。