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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.90
Shinro
Сообщений: n/a
#1

Вывод текста на русском - C++

10.07.2012, 17:07. Просмотров 4036. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// Выводит текст стихотворения 
#include <stdio.h> 
#include <conio.h> 
void main ()
{ 
printf("Ynulaua pora! ochey ochsrovan'e!\n"); 
printf("Priyatna mne tvoya proschal'naya krasa -\n"); 
printf("lublu ya pyushnoe  prirodu yvyadanie,\n"); 
printf("V bagrets i zoloto odetye lesa.\n\n"); 
printf(" A.C.Pyshkin\n"); 
printf("\n\nFor continue press <Enter>"); 
getch (); // чтобы стихотворение не исчезло с экрана 
}
Сначала пытался вывести текст на русском но появлялись какие-то символы, что нужно подключить чтобы все-таки была возможность вывести текст на русском, а не на английском? заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 17:09     Вывод текста на русском #2
Shinro,

C++
1
2
3
4
5
#include <windows.h>
 
char chbuff[] = "это русский текст";
CharToOem(chbuff, chbuff);
printf("%s", chbuff);
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2012, 17:21     Вывод текста на русском #3
Цитата Сообщение от Shinro Посмотреть сообщение
что нужно подключить чтобы все-таки была возможность вывести текст на русском, а не на английском?
Для ввода и вывода:
C++
1
2
3
4
5
6
7
#include <Windows.h>
int main()
{
SetConsoleCP(1251); 
SetConsoleOutputCP(1251);
.....
}
Для вывода:
C++
1
2
3
4
5
int main()
{
setlocale(0, "");
.....
}
Romadzao
7 / 7 / 1
Регистрация: 02.07.2012
Сообщений: 120
10.07.2012, 17:38     Вывод текста на русском #4
C++
1
2
3
4
5
6
7
8
9
#include <windows.h>
#include <clocale> // Нужно добавить это
#include <stdio.h>
 
void main(){
    setlocale(LC_CTYPE,"Russian"); // И это
    printf("У луркоморья нуб зелёный...");
    Sleep(10000);
}
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 17:44     Вывод текста на русском #5
alsav22, этот метод работает далеко не на всех машинах. Так что ЧарТуОем лучше всего

Добавлено через 23 секунды
Romadzao, о твоем методе мнение то же
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2012, 18:14     Вывод текста на русском #6
Цитата Сообщение от Ksan Посмотреть сообщение
alsav22, этот метод работает далеко не на всех машинах. Так что ЧарТуОем лучше всего

Добавлено через 23 секунды
Romadzao, о твоем методе мнение то же
Автору ТС, наверное, не на всех машинах нужно? Разве удобно для каждого текста такую конструкцию писать:
C++
1
2
char chbuff[] = "это русский текст";
CharToOem(chbuff, chbuff);
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 18:28     Вывод текста на русском #7
alsav22, хе, а если у него на машине не пойдет? Или, что хуже, у него пойдет, а, скажем, у препода - нет. CharToOem идет на всех и в этом его достоинство.

Добавлено через 39 секунд
Да и все это можно обернуть в функцию, что бы можно было писать
C++
1
char *chbuff = Func("русский текст");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2012, 18:37     Вывод текста на русском
Еще ссылки по теме:

Постепенный вывод текста C++
Ввод и вывод строк на русском языке (кирилице) C++
C++ Вывод текста
Вывод значений на Русском языке C++
C++ Как реализовать ввод/вывод текста на русском языке?

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

Или воспользуйтесь поиском по форуму:
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2012, 18:37     Вывод текста на русском #8
Цитата Сообщение от Ksan Посмотреть сообщение
alsav22, хе, а если у него на машине не пойдет? Или, что хуже, у него пойдет, а, скажем, у препода - нет. CharToOem идет на всех и в этом его достоинство.

Добавлено через 39 секунд
Да и все это можно обернуть в функцию, что бы можно было писать
char *chbuff = Func("русский текст");
Не спорю. Вольному - воля. Пусть ТС сам решает.
Yandex
Объявления
10.07.2012, 18:37     Вывод текста на русском
Ответ Создать тему
Опции темы

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