Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2015, 13:52   #1
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
По умолчанию Русский язык в С++

Как сделать так, чтобы в операторе cout я мог вводить русские буквы и при выполнении программы они отображались не в виде иероглифов?
Всегда задавайте вопросы, даже самому себе.
Боец на сцене, певец на арене
WildWhiteRabbit вне форума Ответить с цитированием
Старый 16.06.2015, 13:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чтобы в операторе cout я мог вводить
Это невозможно.
Цитата:
отображались не в виде иероглифов
Это возможно: http://www.programmersforum.ru/showt...t=SetConsoleCP
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.06.2015, 15:21   #3
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Если вам просто нужно выводить на экран (а не получать текст от пользователя из консоли) и вы работаете в среде Visual Studio, то достаточно вызвать один раз в теле main оператор setlocale:
Код:
#include <iostream>
using namespace std;

int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Привет, Мир!" << endl;
    return 0;
}
Если вы работаете в другой среде, то будет по-другому. В чём вы работаете?

Последний раз редактировалось 8Observer8; 16.06.2015 в 15:26.
8Observer8 вне форума Ответить с цитированием
Старый 17.06.2015, 04:10   #4
WildWhiteRabbit
Форумчанин
 
Регистрация: 30.05.2015
Сообщений: 179
Радость ура товарищи

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Если вам просто нужно выводить на экран (а не получать текст от пользователя из консоли) и вы работаете в среде Visual Studio, то достаточно вызвать один раз в теле main оператор setlocale:
Код:
#include <iostream>
using namespace std;

int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Привет, Мир!" << endl;
    return 0;
}
Если вы работаете в другой среде, то будет по-другому. В чём вы работаете?
Я работаю в codeblocs. И огромнейшее вам спасибо, эта строчка
Цитата:
setlocale(LC_ALL, "Russian");
решила мою проблему! насколько я понял, что параметр LC_ALL определяет возможность использования русского языка в любой части программы после оператора couta? так?
Всегда задавайте вопросы, даже самому себе.
Боец на сцене, певец на арене
WildWhiteRabbit вне форума Ответить с цитированием
Старый 17.06.2015, 08:57   #5
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
параметр LC_ALL определяет возможность использования русского языка в любой части программы после оператора couta? так?
Да, один раз нужно вызвать и забыть. Для меня удивительно, что в codeblocs срабатывает. В Qt MinGW не работает setlocale
8Observer8 вне форума Ответить с цитированием
Старый 17.06.2015, 09:26   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Для меня удивительно, что в codeblocs срабатывает.
Это функа винды, не вижу ничего удивительного.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2015, 09:51   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вот тут, я постарался собрать большинство применяемых на сегодняшний день способов русификации. Удачи.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 17.06.2015, 10:36   #8
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это функа винды, не вижу ничего удивительного.
Скорее всего, наверное, компилятора? Вот на MinGW не катит setlocale
8Observer8 вне форума Ответить с цитированием
Старый 17.06.2015, 11:42   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Скорее всего, наверное, компилятора?
Неа: https://msdn.microsoft.com/en-us/library/x99tb11d.aspx
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2015, 11:44   #10
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Почему setlocale не катит в Qt?
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Русский язык Dima-War Общие вопросы C/C++ 12 06.11.2012 19:40
C++ на русский язык fkorto Общие вопросы C/C++ 6 29.04.2010 15:12
Русский язык Sanek_ntsk Общие вопросы C/C++ 9 06.03.2008 16:50
Русский язык Elefanter Свободное общение 14 22.02.2008 16:23
Русский язык [Smarik] Паскаль, Turbo Pascal, PascalABC.NET 7 01.02.2008 22:58