![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Друзья, поясните, пожалуйста, для чего нужно использовать codecvt? Везде пишут, что его прямое назначение - преобразование кодировок. Так пишет и сам Страуструп. Но на деле, codecvt применим только к потокам использующим файловый буфер.
Применить его к, например, stringstream без костылей (std::wstring_convert) нельзя. К тому же, эти костыли еще и не реализованы в gcc, насколько я понял. Так зачем же нужен codecvt? И нужно ли пытаться использовать его для преобразования кодировок или лучше использовать другой инструмент?
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
![]()
Возможно, эта статья как-то прояснит суть.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Мало-ли, что Страус пишет (или псал). Свой ум есть? Если нету, никакой страус не поможет. "Пилите, Шура, пилите, она - золотая."
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#4 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Streletz, читал. Увы, сути она не проясняет. Примеры там основываются на стандартных потоках ввода/вывода, которые как раз таки и используют файловый буфер.
Smitt&Wesson, что у вас вечно за агрессивные ответы? Я все понимаю, надоели нубы, но ведь можно же просто пройти мимо? Я без труда напишу свой велосипед или воспользуюсь бустом, но вопрос то не в этом. Вопрос в том, зачем был задуман такой класс как codecvt в c++ и как его правильно использовать.
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
#5 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]() Цитата:
Почитайте о фацетах (фасетах?) В какой-то книжке видел хорошее вступление в эту тему, могу поискать вечером, если нужно. |
|
![]() |
![]() |
![]() |
#6 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Croessmah, да, я знаю это. Но вот незадача, он работает только с потоками имеющими файловый буфер. То есть, если данные программа получает из какого-то потока, у которого не файловый буфер (к примеру, stringstream), применить codecvt не выйдет.
На тему фасетов хорошо пишет сам Страуструп, например, в "Язык программирования C++, специальное издание". Но увы, момент который меня так интересует, там никак не обсуждается.
В планах порабощение вселенной...
Последний раз редактировалось zumm; 13.08.2015 в 19:21. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Нубы, действительно надоели. Но, геофизик и перебирать дерьмо, как-бы моя профессия. Ну, делаю выводы, которые не нравятся с точки зрения банальной эрудиции. Но, это издержки производства....
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#8 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Поговорили с автором статьи на хабре, предложенной Streletz, и пришли к выводу, что codecvt это еще одна идея из разряда "хотели как лучше, а получилось как всегда". Не смотря на то, что он задуман, как преобразователь кодировок, по стандарту реализации буферов потоков не обязаны его использовать. Вот и вышло, что basic_filebuf его использует, а вот basic_stringbuf уже нет. И плакала универсальность.
Статья на хабре исправлена, вопрос решен. Расходимся.
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Применения эффекта к фото FASM | neomax38 | Фриланс | 0 | 10.06.2013 20:13 |
Поясните смысл применения константов | Van-89 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 12.04.2012 21:26 |
применения Java | RedScreenOfLife | Софт | 9 | 16.06.2011 10:00 |
Целесообразность применения out | Miha85193 | Общие вопросы Delphi | 4 | 18.06.2010 21:00 |
Область применения переменных | ixs | Общие вопросы Delphi | 2 | 05.06.2008 18:00 |