0 / 0 / 1
Регистрация: 22.04.2015
Сообщений: 15
1

Кириллица в консоли

21.06.2015, 20:10. Показов 2931. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знаю что вопрос уже не раз задавали, но там люди программировали в какой-либо из IDE.
Я же программирую на Windows в MinGW(эмулятор g++, то бишь консольный компилятор).
Так вот как там выводить русские буквы, текст?
Пробовал менять кодировку (C:\Windows\System32>chcp 866(и 1251 пробовал)). Так же сохранял файл в
UTF-8.... Результат очевиден.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2015, 20:10
Ответы с готовыми решениями:

Кириллица в консоли
#include "stdafx.h" #include <iostream.h> #include "seria.h" #include<windows.h> char...

Кириллица в консоли
Здравствуйте. Произошла вот такая проблема. Надеюсь, поможете. Написал легкую программу на C++,...

Кириллица в консоли
Пишу простенькую программу: #include <iostream> using namespace std; int main() { cout <<...

Не отображается кириллица в консоли
Что делать?

10
Модератор
Эксперт С++
13416 / 10524 / 6287
Регистрация: 18.12.2011
Сообщений: 28,107
21.06.2015, 20:19 2
Поскольку Вы запускаете консольное приложение, то ознакомьтесь с
Русские шрифты в консоли
0
0 / 0 / 1
Регистрация: 22.04.2015
Сообщений: 15
21.06.2015, 20:29  [ТС] 3
К сожалению я пробовал все и setlocae и SetConsoleCP...
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.06.2015, 00:08 4
Цитата Сообщение от Raven1290 Посмотреть сообщение
К сожалению я пробовал все и setlocae и SetConsoleCP...
Не думаю, что ты какой-то особенный, у всех работает, а у тебя нет. setlocale(), в данном случае, для mingw не подходит, а с SetConsoleCP(1251) и т.д., должно работать. Нужный шрифт, в свойствах консоли, установил?

Добавлено через 3 минуты
Есть, для mingw, и такой способ: прописать компилятору
-finput-charset=CP1251 -fexec-charset=CP866
Кодировки будут правильно работать и без setlocale() и без SetConsoleCP() и т.д.
0
88 / 83 / 21
Регистрация: 08.08.2012
Сообщений: 737
22.06.2015, 00:19 5
Цитата Сообщение от Raven1290 Посмотреть сообщение
SetConsoleCP
попробуйте в свойствах консоли установить шрифт lucida console
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.06.2015, 00:22 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;
 
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout << "Русский вывод" << endl;
    char str[200];
    cin.getline(str, 200);
    cout << str << endl;
 
    system("pause");
    return 0;
}
Для этого способа, вот это обязательно:
Цитата Сообщение от lss Посмотреть сообщение
Нужный шрифт, в свойствах консоли, установил?
Цитата Сообщение от Хулиган Посмотреть сообщение
в свойствах консоли установить шрифт lucida console
Миниатюры
Кириллица в консоли  
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.06.2015, 00:29 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main ()
{
    cout << "Русский вывод" << endl;
    char str[200];
    cin.getline(str, 200);
    cout << str << endl;
 
    system("pause");
    return 0;
}
Для этого способа, настройка шрифта не нужна.
Миниатюры
Кириллица в консоли  
0
18345 / 9528 / 2329
Регистрация: 30.01.2014
Сообщений: 16,651
22.06.2015, 01:10 8
Самый правильный способ, хоть и не самый простой, - пользоваться юникодной консолью и юникодным i\o соответственно. Все эти приседания с setlocale и ConsoleCP закончатся, как только понадобиться работать с больше чем двумя языками сразу.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.06.2015, 01:23 9
Цитата Сообщение от DrOffset Посмотреть сообщение
Все эти приседания с setlocale и ConsoleCP закончатся, как только понадобиться работать с больше чем двумя языками сразу.
Не будем отрываться от реальности, ТС с двумя не может разобраться.
0
18345 / 9528 / 2329
Регистрация: 30.01.2014
Сообщений: 16,651
22.06.2015, 02:26 10
Цитата Сообщение от lss Посмотреть сообщение
ТС с двумя не может разобраться
Для ТСа уже достаточно было других ответов. И целой прикрепленной темы.
Я просто ни в одной подобной теме не видел упоминания юникодного io. Его игнорируют, как будто его нет (или может не знают). Поэтому я и написал пост выше, чтобы хоть у тех, кто будет читать эту тему позже, закралось подозрение, что все эти пляски вокруг setlocale не единственный способ локализовать приложение.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.06.2015, 02:34 11
Цитата Сообщение от DrOffset Посмотреть сообщение
Я просто ни в одной подобной теме не видел упоминания юникодного io.
В конце прикреплённой темы есть про юникод:
Русские шрифты в консоли
Русские шрифты в консоли
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2015, 02:34
Помогаю со студенческими работами здесь

Условный оператор, кириллица в консоли
Ниже представлен код с условным оператором if. Ввожу Привет мир! но, нечего не происходит, почему?...

Кириллица в консоли (прикрепленная тема прочитана)
Здравствуйте. Пожалуйста, помогите понять, в чем может быть ошибка. В консоли вместо кириллицы...

Подсчитать количество вхождений буквы (кириллица) в строку (кириллица)
Суть такая: по требованию программы ввести строку символов (обыкновенный текст, кириллица(!!!)) и...

Клавиши F1-F12 в консоли, и работа с мышкой в консоли
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru