Проблема с getline и «странными символами»

У меня странная проблема, Я использую

wifstream a("a.txt");
wstring line;
while (a.good()) //!a.eof()  not helping
{
     getline (a,line);
      //...
     wcout<

, и он отлично работает с таким файлом txt http://www.speedyshare.com/files/29833132/a.txt (извините за ссылку, но это всего лишь 80 байт, поэтому получить ее не должно быть проблем, если я c / p на SO новые строки теряются) НО, когда я добавляю, например, 水 (из http://en.wikipedia.org/wiki/UTF-16/UCS-2#Examples ) в любую строку, которая является строкой, на которой загрузка останавливается. У меня было неправильное впечатление, что getline, который принимает wstring как один вход, а wifstream как другой, может пережевывать любой текстовый ввод ... Есть ли способ прочитать каждую строку в файле, даже если она содержит забавные символы?

6
задан NoSenseEtAl 12 August 2011 в 12:48
поделиться