Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
 Аватар для hepr
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538

Кодировка вывода в консоль

30.07.2011, 20:42. Показов 3861. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня Windows Xp sp 3, не подскажите кодировку вывода на консоль русского текста, текст выводит системное приложение rasdial.exe, которое используется для подключение интернета
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2011, 20:42
Ответы с готовыми решениями:

Кодировка, CodeBlocks, консоль
Здравствуйте. Установил нову версию Codeblocks 17.12. Проблема вот в чем: Когда я копирую символы в консоль, то получаю вместо...

Кодировка символов при выводе в консоль.
Код #include <iostream> #include <fstream> #include <string> #include <sstream> #include...

Кодировка: вывод данных на русском языке в консоль
Здравствуйте, уважаемые форумчане! Есть проблема с выводом данных в консоль. Нужно вывести данные на русском языке в таблице. Символы для...

7
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
31.07.2011, 11:24
Руссифицировать консоль можно по разному
1-й способ - для С++ и ввода с помощью iostream.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
2-й способ применим для Си
C++
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  //
}
Для успешной работы необходимо выставить шрифт консоли на Lusinda Console (скриншот ниже)
3 -й
Использовать функцию CharToOem((LPCTSTR)s_input,s_output);
Вот прототип простенькой функции по печати русского текста
C++
1
2
3
4
5
6
7
8
9
10
void ru_printf(const char * fmt, const char * str)
{
    char chBuf[MAX_PATH];
    if(0 < strlen(str))
    {
        sprintf(chBuf,str);
        CharToOem((LPCTSTR)chBuf,chBuf);
        printf(fmt,chBuf);
    }
}
4 -й использовать функцию setlocale, подробней о ней сдесь http://www.cplusplus.com/refer... setlocale/
Миниатюры
Кодировка вывода в консоль  
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
31.07.2011, 11:32
2-й способ применим для Си
какой же это Си?сдесь windows.h нужен, а не stdio.h
0
 Аватар для hepr
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538
31.07.2011, 11:43  [ТС]
Да мне вообще немножко наоборот надо - у меня прога на Qt написана, я в ней запускаю процесс rasdial.exe с аргументами и пытаюсь найти кодировку чтобы расшифровать что процесс вывел
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
31.07.2011, 22:03
Запускай следом cmd.exe и в нем пребирай кодировку, через chcp.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,701
01.08.2011, 01:32
Кстати, что касается шрифта Lucida Console рекомендую залезть в реестр и поменять там что-то, какой-то ключ. Тогда у всякого создаваемого консольного окна будет такой шрифт.

Подробности я подзабыл. Ищутся в инете на раз.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
01.08.2011, 05:54
Цитата Сообщение от kravam Посмотреть сообщение
рекомендую залезть в реестр и поменять там что-то...
... А лучше удалить всё к чёртовой бабушке
На самом деле всё проще: когда в настройках шрифт/размер/цвет меняешь, там галка есть - сохранить настройки для текущего окна, или всегда cmd с такими настройками запускать.

Цитата Сообщение от hepr Посмотреть сообщение
у меня прога на Qt написана
Вообще-то лучше бы кодировкой в самой программе заморочиться. В Qt для этого специальный метод tr предусмотрен, документацию почитайте...
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,701
01.08.2011, 15:28
easybudda, без ёрничанья
Ели ты галку поставишь, то максимум, чего ты добьёшься, это что с таким шрифтом будут запускаться окна С ТАКИМ ЖЕ ИМЕНЕМ.
Но никак не все окна в системе. А поправишь реестр- будут все.
У меня каждый мало-мальский отдельный проект начинается в новой папке и имя у него уникальное. Ток что вот.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2011, 15:28
Помогаю со студенческими работами здесь

Кодировка ввода и вывода
В программу нужно ввести данные на русском языке, потом вывести #include &quot;stdafx.h&quot; using namespace std; const int num =...

Нет вывода в консоль
Доброго времени суток! В середине дня столкнулась со следующей проблемой. При сборке программы в Visual Studio 2008 все прекрасно и без...

Ошибка вывода на консоль
В Debug выводит адрес почему-то. В release же все нормально. Почему так и как это исправить? #include &lt;iostream&gt; #include...

Кодировка для вывода в файл
Запрашиваю путь, туда записываю данные. char path=set_path(); p = vvesti(path); set_path.cpp #include&lt;iostream&gt; ...

Дублирование вывода в консоль CLion
Доброго времени суток друзья. Установил вчера IDE CLion. Но он почему-то дублирует вывод значений переменных.. Помогите убрать это...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru