Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.98
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
#1

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

25.05.2010, 20:47. Просмотров 6083. Ответов 12
Метки нет (Все метки)

Работаем в Visual Studio 2010.

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

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

Сразу скажу, что функция:
C++
1
2
3
4
void RussianLang(void) // Поддержка русского шрифта
{
setlocale(LC_ALL,"Russian");
}
присутствует, но не помогает конкретно с занесением русских букв(чтение запись).
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2010, 20:47     Русские шрифты в c++
Посмотрите здесь:

Русские шрифты в консоли - C++
всем привет. Я новичек, и у меня такой вопрос. Как написать сообщение с русскими буквами, чтоб нормально показывала? :rtfm:Например: ...

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

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

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

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

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

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

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

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

Добавлено через 46 секунд
к примеру Lucida Console
Можно чуток подробнее, как это сделать.
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
25.05.2010, 21:20     Русские шрифты в c++ #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вызываешь свою программку с крякозябрами - появляется консоль. Клацаешь вверху (рядом с иминем, или где там еще) правой кнопкой, выбираешь "Свойства". На второй вкладке шрифты - всего их 3: точечный, тот что я сказал и еще один. Ставишь любой неточечный шрифт, его размер и жмешь "Ок".
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
25.05.2010, 21:29     Русские шрифты в c++ #9
зачем такие муки....

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

для ввода русских букв с консоли:
OemToCharA
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
25.05.2010, 21:32  [ТС]     Русские шрифты в c++ #10
Цитата Сообщение от Iworb Посмотреть сообщение
вызываешь свою программку с крякозябрами - появляется консоль. Клацаешь вверху (рядом с иминем, или где там еще) правой кнопкой, выбираешь "Свойства". На второй вкладке шрифты - всего их 3: точечный, тот что я сказал и еще один. Ставишь любой неточечный шрифт, его размер и жмешь "Ок".
Спасибо огромное Iworb и Crudelis за оперативную помощь.
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
25.05.2010, 21:32     Русские шрифты в c++ #11
какие тут муки? Это делает тоже самое, но только меняет таблицу ascii для всех потоков - как для ввода/вывода для консоли, так и для файла.
Mark_26
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 20
01.08.2012, 22:25     Русские шрифты в c++ #12
Я бы тебе посоветовал, если пишешь консольные программы, используй текстовый редактор, где можно сменить кодировку (я использую Far Manager, F8 нажал и всё), а для компиляции используй командную строку Visual Studio с командой: cl исходный_файл.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2014, 18:29     Русские шрифты в c++
Еще ссылки по теме:

Не отображаются шрифты комментария на русском - C++
собственно вопрос в названии темы.

Русские символы - C++
Написал программу. Компилю из под cygwin g++. Ругается: 4.cpp:27:18: предупреждение: многознаковая символьная константа if((str...

русские буквы - C++
можно ли как-нибудь ввести в консоль русский текст, получить его, а затем работать с ним, а затем вывести его. посьню: есть код: ...

Русские символы - C++
Подскажите пожалуйста как сделать правильный вывод русского алфавита, так как при выводе выдает иероглифы, есть задавать данные изначально,...

Русские символы!!!! - C++
Для русских символов я использую библиотеку #include &lt;russian.h&gt; Все работает нормально без using namespace std; #include...


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

Или воспользуйтесь поиском по форуму:
Desmut
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 5
21.01.2014, 18:29     Русские шрифты в c++ #13
Можно так, setlocale(0,"");
Yandex
Объявления
21.01.2014, 18:29     Русские шрифты в c++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru