Полностью смущен чтением файла UTF8 под Linux - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу прочитать файл 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 против wchar_t против char16_t против 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);
}

Спасибо

...