完全困惑于在Linux下读取UTF8文件

时间:2018-09-19 15:02:11

标签: linux c++11 utf-8 unicode-string

我想按字符读取linux UTF8文件char。我想使用wifstream:

std::wifstream wi("file");
wi.imbue(std::locale(std::locale(""), new std::codecvt_utf8<wchar_t>));

并用wchar_t阅读它:

for(wchar_t c; wi.get(c);) {
    std::wcout << c;
}

但是在阅读以下内容之后:char vs wchar_t vs char16_t vs char32_t (c++11)我完全感到困惑。

  • 我应该使用char,char16_t,char32_t
  • 我应该使用ifstream还是wifstream
  • 我应该使用新的std :: codecvt_utf8
  • 如何从文件中提取单个“字符”

我的目标是按'char'读取文件'char'并将每个'characted'放入向量:

'vector<?>':
std::vector<?> chars;
for(? c; wi.get(c);) {
     chars.push_back(c);
}

谢谢

0 个答案:

没有答案