LINUX.ORG.RU

Избранные сообщения Benis

Вывод в консоль cout и wcout одновременно

Форум — Development

Всем привет.

  1. Я с никогда не понимал фразу: «при первом испоьзовании cout/wcout, всё это хозяйство берёт ориентацию и в дальнейшем нужно не миксовать w… с безпрефиксными вариантами (без w…)». А что это означает на практике? Как происходит эта «ориентация»? Почему миксовать не получается? В общем хочется деталей для понимания.

  2. Первый вопрос вытекает из того, что юзаю ncurses, внутренне она конвертит все входящие символы в wide символы (судя по необходимости устанавливать локаль, когда входящие символы не ASCII). Логично, что и от неё в консоль идут wide символы, и черт его знает что там сориентируется и в какую сторону. А из-за непонимания механизма - всё это какая-то магия.

  3. Ну чисто собственный наивный взгляд - видимо, wcout и cout пишут в один и тот же файл (очевидно да), принимающая сторона хранит символы в wide, и вот ей нужно определиться - конвертить ли входящий поток narrow->wide или нет. Ну если так, то я не могу после ncurses (которая широкая внутренне) печатного цикла использовать cout и мне нужно переоткрывать stdout как пишут в доках. Кто-нибудь не согласен?

 , ,

pavlick ()