Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
9 / 9 / 0
Регистрация: 17.07.2014
Сообщений: 163

Широкие строки в консоли Windows 7 неправильно обрабатываются

17.08.2017, 07:11. Показов 910. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

не подскажет ли кто как правильно работать с широкими строками в консоли Windows 7? То есть выводить на экран и вводить символы Юникода за пределами ASCII. Читал на этом форуме несколько постов на эту тему, но все они относятся только к кириллице: рекомендуют использовать строчки

C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
и помимо этого вручную устанавливать консольный шрифт в Lucida Console.

Но наверное есть более универсальный способ?

Для примера, имеется код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    std::locale::global( std::locale( "" ) );
    wcout << GetConsoleCP() << endl;
    wcout << GetConsoleOutputCP() << endl;
    wstring s;
    wcout << L"Ввод: ";
    getline( wcin, s );
    for( int i = 0; i < s.size(); ++i )
        wprintf( L"%i,", s[i] );
    wcout << endl << L"Введено  : " << s << endl;
    
    return 0;
}
Этот код производит такой результат:

C:\prg>unicode
866
866
Ввод: абвгАБВГ
160,1038,1118,1032,1026,1027,8218,1107,
Введено : *Ўў???'?
Предполагаю, что нужно производить какие-то изменения в локали, но какие именно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2017, 07:11
Ответы с готовыми решениями:

Ответы в тесте обрабатываются неправильно
здравствуйте, очень нужна помощь. разработала тест, но ответы обрабатываются неправильно. они сохраняются в массив ответов; есть кнопка...

Не обрабатываются события мыши в консоли
Препод дал код, который ,как пример, показывает обработку событий мыши. Так вот в аудитории все работает как надо, а дома после запуска -...

DevCpp MinGW Широкие строки
Всем привет! Вот код. #include &lt;iostream&gt; #include &lt;locale&gt; int main(int argc, char** argv) { ...

2
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.08.2017, 09:43
nbd, если у тебя VS, то см. сюда.

Есть еще несколько связанных тем:
Использование юникода в проекте?
Греческий в консоли
Фигурки шахматной доски ♔♕♖♗♘♙♚♛♜♝♞♟
Греческие буквы в консольном приложении
1
9 / 9 / 0
Регистрация: 17.07.2014
Сообщений: 163
17.08.2017, 09:46  [ТС]
DrOffset,

спасибо! Буду изучать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2017, 09:46
Помогаю со студенческими работами здесь

Не все строки обрабатываются по условию
Понимаю, что где то накасячил, не пойму где... Надеюсь на Вашу помощь. using (OpenFileDialog dialog = new OpenFileDialog()) ...

Медленно обрабатываются строки из файла
Мое приложение - это текстовый редактор. При нажатии на кнопку &quot;Пуск&quot; программа записывает каждую строку как элемент списка. Получается...

Копирование набранной в консоли строки в буфер обмена Windows
ассемблер под windows, задание такое: Копирование набранной в консоли строки в буфер обмена Windows. программа есть, только работает...

Команды CMD (консоли, командной строки Windows) в Delphi
Может кто уже сталкивался или просто хорошо имеет знания по Delphi или CMD (консоль, командная строка Windows). Вопрос в следущем....

Оформление строки в консоли Windows через ESCAPE-последовательности
Собственно, хочу по ходу строки менять стиль/цвет и т.п. Конечно есть варианты: - установить параметры консоли - вывести кусок строки ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru