PDA

Показать полную графическую версию : кодировка basic_ostream<>


pva
17-03-2010, 22:22
Привет всем!
Допустим есть строчка в уникоде, я хочу записать её в файл 1) в кодировке win1251 2) в кодировке UTF-8. Можно это как-то сделать (и как) через basic_ostream<>?
я видел у них в кишках где-то (вроде у буфера потока) методы для перекодировки символов, но так и не понял, как их задействовать.
А ещё, скачал mingw gcc 4.4.2, он пишет в wcout однобайтовые символы (меня устраивает). Metrowerks CodeWarrior 8 пишет двухбайтные. Кто делает правильнее? можно ли настроить чтобы оба писали двубайтные или однобайтные (по требованию)?
Может коряво выразился, никак не могу с кодомысленного перевести на русскописный :crazy:

// чтобы можно было сделать так:
wcout << L"12345\n"
// выводит 12345
....// колдуем, колдуем
wcout << L"12345\n"
// выводит 1 2 3 4 5

Serega
18-03-2010, 21:19
есть строчка в уникоде, я хочу записать её в файл 1) в кодировке win1251 2) в кодировке UTF-8. »
Посмотрите функцию WideCharToMultiByte (http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx)

pva
19-03-2010, 00:31
нее, это то я знаю. Вот как потоки заставить перекодировать (например в линуксе) - вопрос...




© OSzone.net 2001-2012