Чтобы выяснить, подходит ли 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
сказал мне, что сбоя не было, но выход был нормальным, но мне трудно в это поверить.