Image

Category:

iostream и буква "я".

Доброго времени суток.

Обращаюсь за помощью с такой проблемой: в виндовской кодировке буква "я" имеет интересный код 0xFF или -1, что соответствует константе EOF для iostream'ов. Соответсвенно, при попытке прочитать из потока строку с буквой "я", поток на этой букве загибается.

Так вот, что бы такое предпринять, чтобы все же русские строки передавались нормально? То есть, можно, конечно, как-то перекодировать строку чем-то вроде CharToOem(), а потом обратно, но это уж очень некрасиво. Существуют ли нормальные решения проблемы?

Ситуация, судя по всему, стандартная, но гуление было безуспешным.

Еще, наверное, важная деталь: код, непосредственно обращающийся к потоку не мой, а boost::archive::xml_iarchive, зато реализация streambuf - самолепная.

Заранее благодарен.

X-posted to Imageru_programming.

UPD: спасибо отвечавшим, проблемы больше нет.