|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2018, 20:30 | #1 |
Регистрация: 15.04.2018
Сообщений: 5
|
Перевод из Юникода в мультибайтную строку. (Проблема)
Простая программа, которая берёт первый аргумент командной строки и помещает его в буфер обмена, почему-то меняет кодировку строки, пройдя через функцию WideCharToMultiByte. То есть, после того как строку вставляешь в любой текстовый редактор из буфера обмена, если в строке есть кириллица, выдаёт набор бессмысленных символов.
Компилятор MinGW 0.6.2. Код: Код:
Результат: codepage.jpg Последний раз редактировалось Patangaly; 15.04.2018 в 20:46. |
16.04.2018, 20:41 | #2 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
У вас сама командная строка обыкновенное ASCII
LPSTR lpCommandLine https://stackoverflow.com/questions/...n-and-wwinmain А вообще делайте стандартно функцию main() (как в примере у МС https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx). Последний раз редактировалось alexzk; 16.04.2018 в 20:43. |
17.04.2018, 12:52 | #3 |
Регистрация: 15.04.2018
Сообщений: 5
|
Даже, если использовать main () и брать ANSI-строку из argv[], то в буфере обмена всё равно теряется кириллица.
|
17.04.2018, 20:04 | #4 |
Регистрация: 15.04.2018
Сообщений: 5
|
На всякий случай отпишусь.
Оказывается, помещая текст в буфер обмена после его очистки, ANSI-строка, особенно, если она содержит символы не латинского алфавита, должна быть локализована. Для этого надо в буфер обмена поместить флаг локализации CF_LOCALE, а потом уже и сам текст. Код:
Последний раз редактировалось Patangaly; 17.04.2018 в 20:07. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод числа в строку | Drimetolle | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 8 | 01.05.2017 03:04 |
перевод в строку из Double | Dimarik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 18.09.2011 15:32 |
Перевод на новую строку | Fanyuus | Помощь студентам | 6 | 15.05.2011 13:01 |
Перевод времени в строку | noob_11 | Общие вопросы C/C++ | 2 | 18.04.2010 21:30 |
Перевод чисел в строку | RedWolf | Помощь студентам | 6 | 17.01.2008 00:09 |