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

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

Войти
Регистрация
Восстановить пароль
 
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
#1

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

22.02.2013, 12:14. Просмотров 972. Ответов 8

Привет всем, не знаю куда ещё это отнести

Не по теме:

(модеры сори если не сюда и если доставил больше работы)


Я помню когда начинал изучать С/С++, была проблемой вывести русский текст в консоль, было решение сменить кодировку вывода, но тогда другая проблема, не возможно было использовать псевдографику...

Не по теме:

Или я был лохом

И по этому написал пару функций, принцип прост и поймет даже самый новичок. При этом остаться возможность, использовать псевдо-графику.
Вот описание.
Russian Сonsole Text (RCT) ver. 1.0
файлы (RCT.h)
можно кинуть в корень проекта и подключить как обычно:
C++
1
#include "RCT.h"
Или кинуть в include во внутренних файлах компилятора у меня например "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include"
и тогда подключение будет такое:
C++
1
#include <RCT.h>
Суть в том чтобы взять на вход кракозябру и вывести текст.
есть функция по работе с char[size] и с более новым std::string.
вот их прототипы:
C++
1
2
3
void convertText(char*, int);
std::string convertText(std::string&);
std::string convertTextO(std::string);
Первая просто переводит кракозябру в читаемый текст пример:
C++
1
2
3
char text [100] = {"Что ты делаешь, напиши мне на E-Mail [email]MaRKer.nsk@ya.ru[/email] "};
convertText(text, 100);
cout<<text<<endl;
Разница между второй и третей, заключается в том, что во второй результат конвертации сохраняется. А третья используется для вывода.
пример:
C++
1
2
3
string text = "Ты серьёзно? ";
cout<<text2<<convertTextO(text)<<endl; // выводит но не сохраняет
cout<<text2<<convertText(text)<<endl; // выводит и сохраняет
Вложения
Тип файла: rar RCT.rar (767 байт, 10 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 12:14     Русский язык в консоль
Посмотрите здесь:

Как заставить консоль понимать русский язык? (русские шрифты в консоли) - C++
Добрый вечер. Нужна ваша помощь С++ не понимает русский язык

Русский язык - C++
char szNonColorEmbeddedMsg; int iNonColorEmbeddedMsgLen = 0; for (size_t pos = 0; pos &lt; strlen(szMsg) &amp;&amp; szMsg != '\0'; pos++) ...

Русский Язык!!! - C++
Как в переменную char A; занести Ф только чтоб после отоброжалось не каракули а Ф! и библиотеку!

Вывести в консоль русский текст - C++
Здравствуйте. Я понимаю что тема поднималась не один десяток раз, но все же... Установил компилятор Qt. И строку &quot;Привет мир&quot; выводит...

Язык не меняется на русский - C++
int main() { //system(&quot;cls&quot;); setlocale(LC_ALL, &quot;Russ&quot;); int number; setlocale(LC_ALL, &quot;Russ&quot;); printf(&quot; \n 1.Графики...

Cout и русский язык - C++
Когда пытаюсь вывести в консоль русские слова выводит какую-то чепуху.Это нормально? Пользуюсь Code::Blocks.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sigma214
39 / 40 / 9
Регистрация: 01.05.2012
Сообщений: 159
22.02.2013, 12:39     Русский язык в консоль #2
C++
1
2
3
4
5
#include <locale.h>
int main()
{
       setlocale(LC_ALL,"Russian");
}
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
22.02.2013, 12:46  [ТС]     Русский язык в консоль #3
Цитата Сообщение от Sigma214 Посмотреть сообщение
C++
1
2
3
4
5
#include <locale.h>
int main()
{
       setlocale(LC_ALL,"Russian");
}
Я знаю про это но с таким вариантом вы уже, не сожмите использовать псевдо графику. Например одинарная линия двойная и тд. =)
SatanaXIII
Супер-модератор
Эксперт С++
5594 / 2628 / 240
Регистрация: 01.11.2011
Сообщений: 6,469
Завершенные тесты: 1
22.02.2013, 13:08     Русский язык в консоль #4
Хм. Работает. Но вот не лучше ли было бы для перекодировки использовать коды символов, а не их значения?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char convertChar(char ch)
{
    char buffCh = ch;
    switch (ch)
    {
    case 'А': {buffCh = 'Ђ';} break;
    case 'Б': {buffCh = 'Ѓ';} break;
    case 'В': {buffCh = '‚';} break;
        // ...
    case 'ю': {buffCh = 'о';} break;
    case 'я': {buffCh = 'п';} break;
    }
    return buffCh;
}
P.S. Для понимания.
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
22.02.2013, 13:30  [ТС]     Русский язык в консоль #5
SatanaXIII, оу спасибо за "понимание" давно искал=) когда то давно потерял), Ну это первая версия буду улучшать и всё ровно хотел перейти на коды, а это пока вариант на быструю руку) так на паре делать нечего было))=) накидал набросок)
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
22.02.2013, 20:19     Русский язык в консоль #6
C++
1
setlocale(0,"");
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
23.02.2013, 10:41  [ТС]     Русский язык в консоль #7
Цитата Сообщение от sovaz1997 Посмотреть сообщение
C++
1
setlocale(0,"");
а здесь то же самое, русский текст есть а вот возможность использовать псевдографику уже, увы не возможно =(
ITishnik
7 / 7 / 0
Регистрация: 07.01.2013
Сообщений: 75
23.02.2013, 11:06     Русский язык в консоль #8
C++
1
2
3
4
5
#include <clocale>
{
setlocale(LC_ALL,"Russian")
//::::::::::::
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2013, 13:04     Русский язык в консоль
Еще ссылки по теме:

Русский язык для С++. - C++
Начал изучаь С++ и хотелось бы испольсовать в своих (приметиных ) программах русский язык. Вот программа ,которая выводи сообщение...

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

Не работает русский язык - C++
Если выбрать в свитче 2 или 4 варианты (ввод вручную) и рассчитать их, то когда будет рассчитывать выдаст что-то типа этого: 1) , …¤г Ї®...

Не работает русский язык - C++
У меня такая проблема: Пользуюсь компилятором Visual C++ 6.0. После написания кода нажимаю build и Execute. Но почему-то в результате в...


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

Или воспользуйтесь поиском по форуму:
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
23.02.2013, 13:04  [ТС]     Русский язык в консоль #9
да что вы все одно и то же, говорю же это включает русский язык, но выключатель псевдографику.
Yandex
Объявления
23.02.2013, 13:04     Русский язык в консоль
Ответ Создать тему
Опции темы

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