Обработка UTF-8 в C ++

Чтобы выяснить, подходит ли C ++ для моего проекта, я хочу протестировать возможности UTF-8. Согласно ссылкам, я построил этот пример:

#include <string>
#include <iostream>

using namespace std;

int main() {
    wstring str;
    while(getline(wcin, str)) {
        wcout << str << endl;
        if(str.empty()) break;
    }

    return 0;
}

Но когда я ввожу символ UTF-8, он ведет себя неправильно:

$ > ./utf8 
Hello
Hello
für
f
$ >

Он не только не печатает ü , но и немедленно завершает работу. gdb сказал мне, что сбоя не было, но выход был нормальным, но мне трудно в это поверить.

12
задан M.Babcock 15 December 2011 в 00:40
поделиться