我正在使用 while !eof 循环从 .txt 文件中读取 wstring:
std::wifstream fileStream(path);
std::wstring input;
while (fileStream.eof() == false) {
getline(fileStream, input);
text += input + L'\n';
}
但是当我在 wcout 中打印它时,一些字符会变成其他字符。到目前为止, č 已经变成了 e(上面有一个向后的逗号), ě 变成了 i(上面有一个向后的逗号), š 变成了一个错误字符。首先我怀疑一些格式问题。但是当我将字符串写入一个新的 .txt 文件时,它完全没问题。
我也_setmode(_fileno(stdout), _O_U8TEXT);
用来让 wcout 工作。