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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1970, средняя оценка - 4.82
frech
32 / 32 / 0
Регистрация: 17.07.2008
Сообщений: 523
#1

Русские шрифты в консоли - C++

02.08.2008, 16:35. Просмотров 242653. Ответов 58
Метки нет (Все метки)

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

Подобные темы:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
body90
 Аватар для body90
360 / 293 / 8
Регистрация: 26.05.2009
Сообщений: 2,676
14.09.2009, 15:54     Русские шрифты в консоли #41
Есть более интересный способ:
Создаешь новый проект, нажимаешь "Сохранить как...", в окне сохранения файла (возле кнопки "Сохранить") есть треугольничек, сохранить с кодировкой, "Да", и в списке выбираешь "Cirilic (DOS) - code page 866", "ОК".
Вот и будет тебе русский текст без всяких извращений со шрифтами, которые на другой машине всё равно будут стандартными...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
16.09.2009, 17:00     Русские шрифты в консоли #42
Цитата Сообщение от Search.. Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
#include <stdio.h> /* Для printf */ 
#include <locale.h> /* Для русского языка */   
 
int main(int argc, char * argv []) { 
 setlocale(LC_ALL,"Rus"); /* Обязательно должно быть первым */ 
 printf("Русский язык !\n");   
 return 0; 
}
У меня так не получается почему-то. Проблему решил, но по-другому. А хотелось бы так.
Paulie
Айхрень...
 Аватар для Paulie
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
16.09.2009, 17:18     Русские шрифты в консоли #43
kravam, вчера только пропарсил 1000 страниц мсдна в поиске проблемы нерусских иероглифов. Решил таки setlocaleoм, должно всё работать:
в начале функции _tmain() прописал:
setlocale(LC_ALL, "Russian"); и всё ок
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
16.09.2009, 18:00     Русские шрифты в консоли #44
Я верю, что тебе везёт. Как и многим здесь. А мн не везёт, видишь как...
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
16.09.2009, 19:03     Русские шрифты в консоли #45
kravam, какая среда?
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
16.09.2009, 23:40     Русские шрифты в консоли #46
DEV C++ 4.9.9.2
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
16.09.2009, 23:51     Русские шрифты в консоли #47
kravam, в dev setlocale не работает, поэтому CharToOemA тебе в помощь
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
17.09.2009, 00:46     Русские шрифты в консоли #48
Я так и сделал
ivanch
1 / 1 / 0
Регистрация: 21.09.2009
Сообщений: 4
21.09.2009, 16:47     Русские шрифты в консоли #49
а что то типа такого не работает? сразу дваварианта с wprintf & wcout
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "iostream"
#include "windows.h"
 
int main()
{
    
    
    setlocale(LC_CTYPE,"RUS");
    wprintf(L"%s\n",L"Привет, мир!\n");
std::wcout<<L"Привет мир";
 
return 0;
}
у меня под visual C++ ода варианта работают идиально
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
22.09.2009, 00:40     Русские шрифты в консоли #50
ivanch, если используется setlocale - то использование юникодных вариантов вывода - необезательно. С таким же успехом ты мог использовать обычный printf() или cout.
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
24.09.2009, 20:17     Русские шрифты в консоли #51
Такая проблема. я значит написал:
setlocale (LC_ALL, ".1251");
далее вывожу все выодит по русски как надо. У меня стоит виста, запустил на хп - выводит каракули. что делать?

Добавлено через 2 минуты
Цитата Сообщение от M128K145 Посмотреть сообщение
kravam, в dev setlocale не работает, поэтому CharToOemA тебе в помощь
Кстати говоря пишу на dev.
xBot01
 Аватар для xBot01
9 / 9 / 1
Регистрация: 25.09.2009
Сообщений: 17
25.09.2009, 01:38     Русские шрифты в консоли #52
Собалезную изучающим ЯП в ОС Windows.

Кто изучал <iomanip>?
Манипуляторы в Linux не хотят работать с русским языком. Кодировка UTF-8.
Кто решил эту проблему?
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
25.09.2009, 18:15     Русские шрифты в консоли #53
breeve, посмотри сообщение N78
...а ну вот у тебя и у меня DEV C++. Сам же видишь, что не работает. Значит- другой вариант. А именно

CharToOemA

Хотя и этот вариант кривой. Как CharToOemA даст сбой, пиши собственную версию CharToOemA, как это сделал я.
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
30.09.2009, 11:22     Русские шрифты в консоли #54
Есть более интересный способ:
Создаешь новый проект, нажимаешь "Сохранить как...", в окне сохранения файла (возле кнопки "Сохранить") есть треугольничек, сохранить с кодировкой, "Да", и в списке выбираешь "Cirilic (DOS) - code page 866", "ОК".
Вот и будет тебе русский текст без всяких извращений со шрифтами, которые на другой машине всё равно будут стандартными...
Справедливо для С++ Builder? Что-то я там такие настройки не нашел.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
01.10.2009, 18:34     Русские шрифты в консоли #55
http://kpolyakov.narod.ru/school/c/faq.htm#rus
У кого DEV C++ всем сюда.
Ziggi
Сообщений: n/a
23.10.2009, 23:39     Русские шрифты в консоли #56
а как в char ВВЕСТИ с КЛАВИАТУРЫ кирилицу?
VS 2008 expres(setlocale и всё выводится а вот ввести сложнее)
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
24.10.2009, 09:57     Русские шрифты в консоли #57
Используй CharToOemA и OemToCharA из windows.h
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2583 / 235
Регистрация: 01.11.2011
Сообщений: 6,391
Завершенные тесты: 1
14.01.2014, 10:46     Русские шрифты в консоли #58
Хорошая статья, в которой популярно и обширно объясняется как и почему работает локализация и вообще что это такое:

Ссылка: ЛОКАЛИЗАЦИЯ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ В ЯЗЫКЕ C++

Скачать (pdf): ЛОКАЛИЗАЦИЯ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ В ЯЗЫКЕ C++.pdf
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 19:01     Русские шрифты в консоли
Еще ссылки по теме:

C++ Значения переменных - русские шрифты
C++ Неправильно считываются русские символы из консоли
C++ Русские символы в консоли на другом компьютере
Как заставить консоль понимать русский язык? (русские шрифты в консоли) C++
Чтения из файла Русские шрифты C++

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

Или воспользуйтесь поиском по форуму:
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
14.01.2014, 19:01     Русские шрифты в консоли #59
Неплохая статья, приоткрывающая завесу тайны с Unicode и его кодировок (представлений).

Оригинал (англ) - http://www.joelonsoftware.com/articles/Unicode.html
Русский перевод
Yandex
Объявления
14.01.2014, 19:01     Русские шрифты в консоли
Закрытая тема Создать тему
Опции темы

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