Описание тега codecvt

1 ответ

stl codecvt ошибки C++

Я хочу использовать codecvt для преобразования std: wstring в std:: string, вот так #include <ostream> #include <sstream> #include <locale> #include <cstdlib> #include <codecvt> //some additional code typedef std::codec…
14 июн '14 в 14:29
1 ответ

Как читать файл utf-16 в строку utf-8 std::string строка за строкой

Я работаю с кодом, который ожидает utf8-кодированные переменные std::string. Я хочу иметь возможность обрабатывать предоставленный пользователем файл, который потенциально имеет кодировку utf-16 (я не знаю кодировку во время разработки, но в конечно…
12 мар '15 в 14:28
1 ответ

Существует ли сценарий декодирования codecvt, где целевому буферу требуется место для более чем одного внутреннего символа?

Когда используешь std::codecvt"s in метод для декодирования внешней последовательности байтов во внутреннюю последовательность символов, существует ли ситуация, когда буферу назначения внутренних символов требуется пространство для более чем одного …
22 ноя '11 в 22:36
0 ответов

Возможная ошибка переполнения буфера в std::use_facet::out()

Я думаю, что нашел ошибку переполнения буфера в объекте VC++10 std::locale. Я был бы благодарен за второе мнение относительно того, делаю ли я что-то не так. Приведенный ниже код упрощен, чтобы продемонстрировать проблему. Я пытаюсь преобразовать си…
0 ответов

Какой самый большой размер вывода, который может понадобиться std::codecvt::unshift()?

Я работаю над пользовательским файлом streambuf, Теперь я хочу промыть на поиске, как fstream делает. На данный момент я хочу знать, насколько большой массив для вывода std::codecvt::unshift() должно быть? Мне кажется, что размер вернулся std::codec…
10 окт '13 в 11:35
3 ответа

Поставлен в тупик с Unicode, Boost, C++, codecvts

В C++ я хочу использовать Unicode, чтобы делать вещи. Так что, упав в кроличью нору Unicode, мне удалось оказаться в железнодорожной катастрофе путаницы, головных болей и мест. Но в Boost у меня возникла неудачная проблема: пытаться использовать пут…
22 окт '11 в 12:49
1 ответ

C++ Не удается создать экземпляр codecvt для записи Unicode в текстовый файл

Hell0, Мне нужно написать текстовый файл (CSV-файл в фактах, но NVM), поддерживающий Unicode с C++. Исходный код, который я должен изменить, уже отлично работает, но поддерживает только ANSI. Это работает с wofstream: std::wofstream x; CString strin…
22 апр '16 в 10:56
1 ответ

Как проверить, успешно ли построено новое codecvt_byname

Есть ли стандартный способ проверить, является ли конструкция новой std::codecvt_byname удалось? Я экспериментировал со следующей программой: // cl /nologo /Fetest_codecvt_byname.exe /EHsc test_codecvt_byname.cpp && test_codecvt_byname // g+…
27 ноя '11 в 13:15
2 ответа

Проблема с фасетом std::codecvt_utf8

Вот фрагмент кода, который использует std::codecvt_utf8<> грань для преобразования из wchar_t до UTF-8. В Visual Studio 2012 мои ожидания не оправдались (см. Условие в конце кода). Мои ожидания неверны? Зачем? Или это проблема библиотеки Visua…
14 окт '13 в 09:18
1 ответ

boost::program_option::store выдает исключение, когда строка параметра содержит символы смешанного языка

У меня есть простой код, который прекрасно работает с опцией ввода содержит только символы ASCII, но выдает исключение с сообщением об ошибке "ошибка: преобразование символов не удалось". Есть ли решение? Справочная информация: 1. Compiler and OS: V…
2 ответа

Парсинг строк с модификаторами значения ('-', '%') в конце

Я пытаюсь разобраться с разбором. У меня есть некоторые данные, которые поступают в de-de формат с дополнительной информацией в конце строки. Мне удалось получить правильную часть, но я изо всех сил в получении - а также % разобрали правильно. Я чит…
25 сен '15 в 16:56
1 ответ

Что произойдет, если я добавлю basic_stream<char> в локаль с фасетом codecvt_utf16<char>?

Это указано, что произойдет, если я буду наполнять basic_stream&lt;char&gt; с языком с codecvt_utf16&lt;char&gt; фаска? В основном я использую typedef wchar_t tchar; а также typedef char tchar; изменить интерфейсы для (что я называю) Unicode и не-Un…
22 авг '11 в 13:22
1 ответ

Перегрузка метода std::codecvt::do_in против остальных базовых методов

Я перегружен do_in метод std::codecvt: #include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;string&gt; class codecvt_to_upper : public std::codecvt&lt;char, char, std::mbstate_t&gt; { public: explicit codecvt_to_upper(size_t r = 0) : std::…
27 мар '14 в 13:21
1 ответ

Специализированный codecvt: ошибки компоновщика, когда третий аргумент шаблона не является std::mbstate_t

Дано #include &lt;locale&gt; struct Q; struct R{ void operator()(Q*) { } }; class S : public std::codecvt&lt;char, char, Q*&gt; { } ; int main() { char *p; char *q; const char *r; char *s; char *t; char *u; Q* _q; std::use_facet&lt;std::codecvt&lt;c…
28 ноя '11 в 07:46
2 ответа

Размер файла Fstream в кодовых точках

Есть много вопросов о получении размера файла в файле std::fstream, но все они возвращают размер файла в байтах и ​​подвержены ошибкам, если файл открыт в другом потоке. Я хочу знать размер файла в кодовых точках, а не в байтах. Сейчас std::fstream:…
17 июл '13 в 04:48
0 ответов

Переносимое преобразование std::string в std::wstring и наоборот?

Мне нужно конвертировать std:: string в std::wstring. Я использовал кое-что в следующих строках Visual Studio 2010 (и это работает нормально): std::wstring_convert&lt;std::codecvt_utf8_utf16&lt;wchar_t&gt;&gt; converter; std::string narrow = convert…
26 апр '16 в 11:17
1 ответ

Использование ICU для реализации моего собственного фасета codecvt

Я хочу реализовать codecvt использовать ICU для преобразования из любой кодировки символов (которую поддерживает ICU) в UTF-8 внутри. Я знаю что codecvt_byname существует и что его можно использовать для выполнения части того, что я хочу, как показа…
30 дек '11 в 15:25
1 ответ

Прервать в деструкторе

Следующий код C++ получает загадочную ошибку ("Ошибка отладки!... вызвана abort()"), когда return выполнен. Это Visual Studio 2017 15.6.3, и программа представляет собой отладочную 64-битную сборку, работающую под 64-битной Windows 7. Что является п…
21 мар '18 в 17:43
1 ответ

Написание файла UTF16 с помощью std::fstream

Можно ли наполнить поток std:: fstream, чтобы поток std:: string, содержащий кодировку UTF-8, мог передаваться в файл UTF-16? Я попробовал следующее, используя фасет utf8-to-utf16, но файл результата по-прежнему UTF-8: std::fstream utf16_stream("tes…
17 июл '13 в 11:52
2 ответа

Как мне написать фасет std::codecvt?

Как мне написать фасет std::codecvt? Я хотел бы написать те, которые идут от UTF-16 до UTF-8, которые идут от UTF-16 до текущей кодовой страницы системы (windows, поэтому CP_ACP), и к системной кодовой странице OEM (windows, так CP_OEM). Кроссплатфо…
04 июн '10 в 03:48