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

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 78, средняя оценка - 4.71
kripa
#1

Русификация консольных приложений - C++

04.08.2009, 19:59. Просмотров 10770. Ответов 16
Метки нет (Все метки)

Народ, помогите плиз. Есть ли прога, позволяющая русифицировать консольные приложения на с++? Заранее простите за безграмотность. Изучаю с++ всего 2-й день
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2009, 19:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русификация консольных приложений (C++):

Графический интерфейс в консольных программах - C++
Насколько я понял, чтоб создать граф. интерфейс, нужна библиотека curses.h. Но в ней довольно низкоуровневые команды, вроде передвижения...

Создание консольных приложений Windows - C++ Builder
Когда-то у меня был Microsoft Visual C++ и я лишь клацал F5 для компиляции консольных приложений. Но счастье часто непродолжительно, и уже...

Русификация EhLib - C++ Builder
Всем привет! Скачал EhLib v 5.3. Устанавливаю для С++Builder 6. Есть необходимость заменить значения выпадающего списка STFilter для...

Разработка консольных приложений - Visual C++
Как в консольном приложении обеспечить вывод текста в кодировке 866 (MS-DOS) при наборе его в кодировке OEM. Без применения классов MFC

Ошибки при создании НЕ-консольных приложений - Visual C++
Если создавать консольное приложение, то всё отлично. А вот если создавать Win32 Project или MFC APLLICATION, то даже ничего ен меняя в...

Дату текущего дня присвоить string переменной (для консольных приложений) - Visual C++
извеняюсь, но не покажете как дату текущего дня присвоить к string переменной для консольных приложений(cmd.exe)?:D очень надо!

16
kazak
3048 / 2369 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
04.08.2009, 20:21 #2
Ты имеешь в виду кракозябры вместо русских букв, тогда тебе сюда
Русские шрифты в консоли
0
PB
Просто прогер
1281 / 1068 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
04.08.2009, 20:38 #3
Создавай Unicode приложение и текст будет нормально отображаться.
0
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
04.08.2009, 20:53 #4
вставляй вначале мейна
C++
1
setlocale( LC_ALL,"Russian" );
и будет тебе счастье
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
04.08.2009, 22:08 #5
setlocale ( LC_ALL, "" );
Тогда и на китайском будет работать
0
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
04.08.2009, 22:13 #6
odip, не понял?
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
04.08.2009, 22:16 #7
Если тебе нужен именно русский - то сойдет второй аргумент "Russian".
Но вообще говоря если ты пишешь локализованную программу - можно указать второй аргумент - "". Это значит что будет браться значение локали, установленное в системе.
В число английской системе - это будет English. Для русских обычно ставят Russian по умолчанию.
Ну а в китайской системе это тоже будет работать
0
PB
Просто прогер
1281 / 1068 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
05.08.2009, 09:27 #8
Цитата Сообщение от odip Посмотреть сообщение
Тогда и на китайском будет работать
Чтобы гарантировано работало на китайском, надо создавать Unicode приложение.
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
05.08.2009, 09:31 #9
надо создавать Unicode приложение
То что приложение консольное, это еще не значит, что оно не может пользоваться Unicode.
0
YurA_280784
Заблокирован
05.08.2009, 10:00 #10
Можно также подключить russian.h - фурічит только для потоков iostream, т.е. printf не покатит, а также есть универсальная функция CharToOem(LPCTSTR sSrs, char * sDst); (чтобі юзать функцию нужно пожключить windows.h)
Юзаем функцию так
C++
1
2
3
char * chBuf = "Текст по русски";
CharToOem((LPCTSTR)chBuf,chBuf);
printf(chBuf);
листинг russian.h ниже
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef RUS_H
#define RUS_H
#include <iostream.h>
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
#endif
0
kripa
05.08.2009, 16:55 #11
Спасибо
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
10.11.2009, 05:18 #12
русские библиотеки для MFC - http://www.flint-inc.ru/rus/info/rusmfc.html
0
aynash
09.01.2011, 15:51 #13
Цитата Сообщение от M128K145 Посмотреть сообщение
вставляй вначале мейна
C++
1
setlocale( LC_ALL,"Russian" );
и будет тебе счастье
СПАСИБО!!!!
AlexRyzhenko
0 / 0 / 0
Регистрация: 29.07.2009
Сообщений: 119
09.01.2011, 19:08 #14
А я делаю так. Подключаю Windows.h. В начале мейна пишу:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Когда запускаю прогу в свойства окна ставлю шрифт Lucida Console. И всё норм.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
10.01.2011, 03:35 #15
C++
1
std::locale().global(std::locale(""));
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <string>
#include <windows.h>
 
std::string ToRus(const std::string& one)
{
     std::string res;
     res.resize(one.size());
     CharToOem(const_cast<char*>(one.c_str()), const_cast<char*>(res.c_str()));
     return res;
}
 
std::string RusToChar(const std::string& one)
{
    std::string res;
    res.resize(one.size());
    OemToChar(const_cast<char*>(one.c_str()), const_cast<char*>(res.c_str()));
    return res;
}
 
int main()
{
     std::string str="Привет";
     std::cout<<ToRus(str)<<'\n';
     std::string some;
     std::cin>>some;
     std::cout<<ToRus(RusToChar(some))<<'\n';
     return 0;
}
0
10.01.2011, 03:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 03:35
Привет! Вот еще темы с ответами:

Руссификация в консольных программах на Visual C++ - Visual C++
Подскажите пожалуйста. Проблема вот в чем: Учусь программировать на С++, пользуюсь компилятором Visual C++ 6.0. Делаю пока еще только...

Графика в консольных приложениях WIN32 - Visual C++
Всем привет))) Может тупой вопрос но оч надо узнать, как работать с простой графикой на новых версиях VC++. Я знаю что нужен graphic.h. Но...

Компиляция консольных приложений VC 6.0 - C++
Может быть я совсем дурак, но программировать ни разу не пробовал и даже не знаю с чего начать. Вот купил книгу &quot;Как программировать на...

Завершение консольных приложений и другое - Java SE
Всем привет. Я совсем нуб в джаве, так что сильно не ругайте. Я начал свой небольшой проэктик и у меня визникло несколько вопросов: ...


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

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

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