Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/57: Рейтинг темы: голосов - 57, средняя оценка - 4.67
 Аватар для Sergey_O
5 / 5 / 3
Регистрация: 09.12.2009
Сообщений: 65

Русские шрифты в c++

25.05.2010, 20:47. Показов 11877. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работаем в Visual Studio 2010.

В char переменную пишем информацию русскими символами, сохраняем, записываем в файл, читаем из файла и снова выводим на экран.
Выводятся иероглифы.

Как я понимаю, проблема с кодировкой, но как проще всего это исправить?

Сразу скажу, что функция:
C++
1
2
3
4
void RussianLang(void) // Поддержка русского шрифта
{
setlocale(LC_ALL,"Russian");
}
присутствует, но не помогает конкретно с занесением русских букв(чтение запись).
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2010, 20:47
Ответы с готовыми решениями:

Русские шрифты в консоли
Как написать сообщение с русскими буквами, чтоб нормально показывала? :rtfm:Например: cout<<"hello world"; ...

Русские шрифты в консоли - продолжение
Всем привет. Я вижу(и прочитал) прилепленную тему на верху, но ответа на свой ньюанс не нашел. Есть такая программа, написанная на...

Чтения из файла Русские шрифты
Не могу не как догнать перепробовал много вариантов не получается ,помогите разобраться. ...

13
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
25.05.2010, 21:01
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
return 0;
}
Правда на счет visual studio - не уверен, сработает ли, но под Dev-cpp пашет
0
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
25.05.2010, 21:05
C++
1
2
3
4
5
#include <windows.h>
............
gets(str);
OemToCharA(str,str);
cout<<str;
так работает
0
 Аватар для Sergey_O
5 / 5 / 3
Регистрация: 09.12.2009
Сообщений: 65
25.05.2010, 21:07  [ТС]
Цитата Сообщение от Iworb Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
return 0;
}
Правда на счет visual studio - не уверен, сработает ли, но под Dev-cpp пашет
Теперь даже когда пишешь русскими символами в консоли, они отображаются криво.
Хотя раньше от этого спасала setlocale(LC_ALL,"Russian");, сейчас как будто она просто не работает.
0
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
25.05.2010, 21:09
C++
1
setlocale(LC_CTYPE,"Rus");
у меня работает
1
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
25.05.2010, 21:12
Цитата Сообщение от Sergey_O Посмотреть сообщение
Теперь даже когда пишешь русскими символами в консоли, они отображаются криво.
Хотя раньше от этого спасала setlocale(LC_ALL,"Russian");, сейчас как будто она просто не работает.
в свойствах консоли выбери не точечный шрифт, а какой-либо другой

Добавлено через 46 секунд
к примеру Lucida Console
1
 Аватар для Sergey_O
5 / 5 / 3
Регистрация: 09.12.2009
Сообщений: 65
25.05.2010, 21:16  [ТС]
Цитата Сообщение от Iworb Посмотреть сообщение
в свойствах консоли выбери не точечный шрифт, а какой-либо другой

Добавлено через 46 секунд
к примеру Lucida Console
Можно чуток подробнее, как это сделать.
0
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
25.05.2010, 21:20
Лучший ответ Сообщение было отмечено как решение

Решение

вызываешь свою программку с крякозябрами - появляется консоль. Клацаешь вверху (рядом с иминем, или где там еще) правой кнопкой, выбираешь "Свойства". На второй вкладке шрифты - всего их 3: точечный, тот что я сказал и еще один. Ставишь любой неточечный шрифт, его размер и жмешь "Ок".
3
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
25.05.2010, 21:29
зачем такие муки....

для вывода русских букв в консоль:
setlocale(LC_CTYPE,"Rus");

для ввода русских букв с консоли:
OemToCharA
1
 Аватар для Sergey_O
5 / 5 / 3
Регистрация: 09.12.2009
Сообщений: 65
25.05.2010, 21:32  [ТС]
Цитата Сообщение от Iworb Посмотреть сообщение
вызываешь свою программку с крякозябрами - появляется консоль. Клацаешь вверху (рядом с иминем, или где там еще) правой кнопкой, выбираешь "Свойства". На второй вкладке шрифты - всего их 3: точечный, тот что я сказал и еще один. Ставишь любой неточечный шрифт, его размер и жмешь "Ок".
Спасибо огромное Iworb и Crudelis за оперативную помощь.
0
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
25.05.2010, 21:32
какие тут муки? Это делает тоже самое, но только меняет таблицу ascii для всех потоков - как для ввода/вывода для консоли, так и для файла.
1
 Аватар для Mark_26
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 20
01.08.2012, 22:25
Я бы тебе посоветовал, если пишешь консольные программы, используй текстовый редактор, где можно сменить кодировку (я использую Far Manager, F8 нажал и всё), а для компиляции используй командную строку Visual Studio с командой: cl исходный_файл.
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 5
21.01.2014, 18:29
Можно так, setlocale(0,"");
0
0 / 0 / 0
Регистрация: 21.05.2020
Сообщений: 2
30.05.2022, 15:16
C++
1
setlocale(0,"");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2022, 15:16
Помогаю со студенческими работами здесь

Значения переменных - русские шрифты
Здравствуйте, такая проблема: Как сделать так чтобы если я создал string tmp = &quot;й,ц,у,К,Е,Н,г,Ш,щ&quot;; то чтобы и работало с русскими...

Очередные русские шрифты в консоли...
Помогите пожалуйста) вот код: #include &lt;iostream&gt; #include &quot;windows.h&quot; using namespace std; int (void) { ...

Как заставить консоль понимать русский язык? (русские шрифты в консоли)
Добрый вечер. Нужна ваша помощь С++ не понимает русский язык

Цвет шрифты строки
Здравствуйте! Как можно изменить цвет шрифта для отдельной строки/слова? Всю консоль раскрашивать научился system(color 22);... ...

Украинские шрифты в консоле
Тема аналог Русские шрифты в консоле Токо что делать если мне надо Укр. setlocale (LC_ALL, &quot;&quot;); решает проблему с Рус....


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru