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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
#1

Русские буквы консоли - C++

10.07.2011, 22:54. Просмотров 1918. Ответов 13
Метки нет (Все метки)

Знаю что таких тембыло очень много, но у меня никак не получается вывести слово "Привет" в консоли.
Пробую так
C++
1
setlocale(LC_ALL,"Russian");
так
C++
1
wcout.imbue(locale("rus_rus.866"));
и так
C++
1
SetConsoleOutputCP(1251);
Но не один не работает. Как же мне вывести русские буквы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.07.2011, 22:55     Русские буквы консоли #2
aram_gyumri, Какой компилятор-то ?
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2011, 22:56  [ТС]     Русские буквы консоли #3
MinGW 4.5.2
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.07.2011, 23:04     Русские буквы консоли #4
aram_gyumri, Русские шрифты в консоли
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2011, 23:09  [ТС]     Русские буквы консоли #5
Читал не помогает.
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.07.2011, 23:10     Русские буквы консоли #6
Цитата Сообщение от aram_gyumri Посмотреть сообщение
Читал не помогает.
Ну старнно, мне помагает.
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2011, 23:13  [ТС]     Русские буквы консоли #7
asics, может что-то с виндовс?
IIIa66uMEM6eP
заставил Бендера
433 / 289 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
10.07.2011, 23:15     Русские буквы консоли #8
aram_gyumri, какая среда?
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.07.2011, 23:16     Русские буквы консоли #9
Цитата Сообщение от aram_gyumri Посмотреть сообщение
может что-то с виндовс?
Да я чесно хз. Это
установить вручную шрифт Lucida Console в свойствах окна консоли и запомнить это для всех окон с этим именем
точно сделал ?
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2011, 23:19  [ТС]     Русские буквы консоли #10
IIIa66uMEM6eP, Code::Blocks
IIIa66uMEM6eP
заставил Бендера
433 / 289 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
10.07.2011, 23:21     Русские буквы консоли #11
aram_gyumri,
тогда SetConsoleOutputCP(1251); в самый раз.
Вот asics кажется его же юзает.
dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2011, 23:23  [ТС]     Русские буквы консоли #12
asics, сделал, каракули выводит.
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.07.2011, 23:24     Русские буквы консоли #13
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2011, 23:41     Русские буквы консоли
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9438 / 5461 / 925
Регистрация: 25.07.2009
Сообщений: 10,481
10.07.2011, 23:41     Русские буквы консоли #14
aram_gyumri, вот так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
 
int main(void){
        wchar_t name[BUFSIZ];
        const wchar_t welcome[] = L"Здравствуйте! Представьтесь, пожалуйста...";
        const wchar_t greeting[] = L"Рады приветствовать Вас, дорогой товарищ";
        const wchar_t errmsg[] = L"Ошибка ввода!";
        
        setlocale(LC_ALL, ".866");
        
        printf("%ls ", welcome);
        if ( scanf("%ls", name) != 1 ) {
                fprintf(stderr, "%ls\n", errmsg);
                exit(1);
        }
        
        printf("%ls %ls!\n", greeting, name);
        
        exit(0);
}
работает
Русские буквы консоли
Только файл обязательно в utf-8 сохранить (во всех более-менее вменяемых редакторах кодовую страницу можно при сохранении указать). Чуть хлопотнее, правда...
Yandex
Объявления
10.07.2011, 23:41     Русские буквы консоли
Ответ Создать тему
Опции темы

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