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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 140, средняя оценка - 4.88
Vlad_Vlad1
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 3
#1

Русский язык в консоли - C++

09.02.2012, 17:41. Просмотров 19416. Ответов 13
Метки нет (Все метки)

Здраствуйте, у меня такой вот вопрос:
Почему когда я пишу текст на русском языке в программе C++ Builder 2009, то в моей программе вместо русских букв появляются какие-то каракули. Как это исправить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <tchar.h>
#include <condefs.h>
#include <conio.h>
//---------------------------------------------------------------------------
 
 
void main(void)
{
 
    cout << "Привет мир!" << endl;
    getch();
}
//---------------------------------------------------------------------------
Высвечивается: |ЁштхЄ ьшЁ!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2012, 17:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русский язык в консоли (C++):

Русский язык в консоли - C++
Здравствуйте. Чего-то не разберусь с русским языком. setlocale(LC_ALL,&quot;RUSSIAN&quot;); и setlocale(LC_ALL,&quot;1251&quot;); - классно. Мне...

Русский язык в консоли - C++
При вводе русских букв в консоль (cin &gt;&gt; a), функция просто не работает, завершается return, я попробовал использовать SetConsoleCP(1251);...

Русский язык в консоли Qt 5.3 - C++
помогите пожалуйста

Русский язык в консоли - C++
Как сделать запись в файл и чтение с него русскими буквами а не иероглифами?

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

Русский язык в консоли - C++
Здравствуйте.У меня следующая проблема:Когда я записываю русский текст в текстовый файл в файле появляется абра-кадабра какая-то.Как...

13
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.02.2012, 17:53 #2
Цитата Сообщение от Vlad_Vlad1 Посмотреть сообщение
Высвечивается:
Перекодировать надо, хотя с борладном мало знаком.
Думаю, что здесь будет ответ Русские шрифты в консоли
0
Vlad_Vlad1
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 3
09.02.2012, 18:03  [ТС] #3
Я просто читаю книгу К. Джамса "Учимся программировать на языке С++". А там все тексты в программе написаны на русском языке. Я пишу также, как и в книге всё, но выходит вот такое
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.02.2012, 18:06 #4
Vlad_Vlad1, Для того, чтобы учить язык, нет необходимости использования русского языка в консоли. Напишите латинскими Hello world.
0
Серега_EX
15 / 15 / 0
Регистрация: 09.02.2012
Сообщений: 30
09.02.2012, 18:24 #5
не помню как в Borland'e
попробуй подключить
#include <locale>
и примени setlocale(LC_ALL,"Russian");
еще попробуй вместо русского подключить ".1251".
В MS Visual Studio точно работает, на счет борланда не уверен
0
Micro
42 / 42 / 1
Регистрация: 12.11.2011
Сообщений: 429
09.02.2012, 18:26 #6
Цитата Сообщение от Серега_EX Посмотреть сообщение
не помню как в Borland'e
попробуй подключить
#include <locale>
и примени setlocale(LC_ALL,"Russian");
еще попробуй вместо русского подключить ".1251".
В MS Visual Studio точно работает, на счет борланда не уверен
В MSVC просто в начале программы написать
C++
1
setlocale(LC_ALL,"russian_russia");
включать ничего не надо (inculde)
2
Vlad_Vlad1
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 3
09.02.2012, 18:29  [ТС] #7
Серега_EX, я только начал разбираться в С++ и не совсем понял куда это писать, напиши, пожалуйста, это в С++
0
Svoya_SId
Сообщений: n/a
25.03.2013, 15:39 #8
Короче setlocale (LC_ALL, "Russian") должно писаться внутри мейна, после фигурных скобок, то есть в теле мейна в самом начале программы, или по мере возникновения необходимости. Для setlocale, как я поняла должна быть подключена библиотека <iostream>, но она по сути чаще всего и так включена, вот и все. А вообще советую обучаться не только посредством книг, а еще и какие нибудь видео-уроки к примеру смотреть, вебинары там и т.д.
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include <iostream>
#include "conio.h"
using namespace std; 
int main()
{   setlocale (LC_ALL, "Russian");
    cout<<"Привет!";
        getch();
    return 0;
}
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,618
Записей в блоге: 3
Завершенные тесты: 1
25.03.2013, 16:52 #9

Не по теме:

Цитата Сообщение от Svoya_SId Посмотреть сообщение
а еще и какие нибудь видео-уроки
имхо, полный бред.


Цитата Сообщение от Micro Посмотреть сообщение
включать ничего не надо
Цитата Сообщение от Svoya_SId Посмотреть сообщение
как я поняла должна быть подключена библиотека <iostream>
необходим <clocale> (<locale.h>)

а вообще пост #2
0
Kastaneda
25.03.2013, 17:35
  #10

Не по теме:

Цитата Сообщение от Vlad_Vlad1 Посмотреть сообщение
Я просто читаю книгу К. Джамса "Учимся программировать на языке С++". А там все тексты в программе написаны на русском языке.
Это переводчик либо линуксоид либо С++ незнает) Хорошо, что операторы языка пока не переводят

0
PlayaRC
5 / 5 / 0
Регистрация: 10.03.2012
Сообщений: 121
25.03.2013, 18:46 #11
я всегда использую setlocale(0, "rus");. Не знаю, как в Борленд, но в VS работает отлично
0
Croessmah
25.03.2013, 19:42
  #12

Не по теме:

Цитата Сообщение от PlayaRC Посмотреть сообщение
но в VS работает отлично
Не всегда приемлем:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <clocale>
 
int main(){
    char buffer[1024];
    setlocale(LC_ALL,"Rus");
    std::cout<<"Русский текст вводим сюдЫ ->";
    std::cin>>buffer;
    std::cout<<buffer<<std::endl;; 
    return 0;
}
Русский язык в консоли

0
Svoya_SId
Сообщений: n/a
28.03.2013, 11:01 #13
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


имхо, полный бред.

Может и да, но мне помогли кой в чем видео с вебинаров МГУшников. Но у меня и уровень языка пока низок, черпаю отовсюду, откуда найду.
Хз, код работает.

Добавлено через 5 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
необходим <clocale> (<locale.h>)
в VS вот кагбэ не включала, сработало и так
Shtaer
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 4
01.05.2017, 17:55 #14
Для Clion: Cygwin - при установке в выборе пакетов нужно найти и отметить всякие cmake, GDB и прочие, кем-нибудь рекомендуемые к установке.
Сlion - File - Settings - Editor - File Encodings: IDE Encoding, Project Encoding, main.cpp (Ваш исполняемый файл) - UTF-8,
Default encoding for properties files - IBM866
В окне редактора внизу - UTF-8.
#include <Windows.h>

SetConsoleCP(866); SetConsoleOutputCP(866);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2017, 17:55
Привет! Вот еще темы с ответами:

Русский язык в консоли - C++
Здравствуйте! Перепробовал все способы в соответствующей теме - ничего не работает. Пишу в QtCreator(без использования Qt как...

Русский язык в консоли - C++
Допустим вот код cout &lt;&lt; &quot;Помогите пожалуйста!&quot;; Пробовал и setlocale и &lt;windows.h&gt;. Проблема в том что вместо русских букв он...

Русский язык в консоли - C++
для работы с русским языком использую: #include &lt;locale&gt; setlocale(LC_CTYPE, &quot;Russian&quot;); но в програме мне нужно вводить через...

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


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

Или воспользуйтесь поиском по форуму:
14
Yandex
Объявления
01.05.2017, 17:55
Ответ Создать тему
Опции темы

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