Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2010, 19:26   #1
Кипящий чайник
Форумчанин
 
Регистрация: 17.12.2009
Сообщений: 101
По умолчанию Кириллица и Dev-C++

Программируя под Linux, я не сталкивался с проблемами вывода русского текста в терминале во время выполнения написаной мной программы.
Но потом, когда я попробовал перенести вполне переносимый код на Windows, то есть откомпилировать его в Dev-Cpp, столкнулся с проблемой вывода кириллицы, то есть выводились не родные буквы, а абракадабра.
Она возникала и раньше, когда я учился ещё под Windows и писал в том же Dev-Cpp. Но было средство, которое мне подсказали - функция из windows.h:
Код:
char* _(const char* str)
{
char* buffer = new char[strlen(str)];
CharToOemA(str, buffer);
return buffer;
}
cout << _("пишем по-русски") << endl;
Но что хорошо для char, совершенно бесполезно для string. Не подскажете ли такой аналог для string?
Кипящий чайник вне форума Ответить с цитированием
Старый 27.02.2010, 19:34   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

std::locale::global() ?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 27.06.2010, 23:04   #3
Кипящий чайник
Форумчанин
 
Регистрация: 17.12.2009
Сообщений: 101
По умолчанию

Увы, абсолютно не работает. Извращался, ставил локаль и так и эдак, но пока страдаю только я, а не консоль.
Кипящий чайник вне форума Ответить с цитированием
Старый 27.06.2010, 23:55   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

На рсдн обсуждалось, вот ссылка на решение
http://www.rsdn.ru/forum/cpp/3176606.1.aspx
netrino вне форума Ответить с цитированием
Старый 28.06.2010, 00:08   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

можно просто переписать функцию под string :
Код:
string rus(string str){
     char buf[256];
     string result;
     CharToOem(str.c_str(), buf);
     result = buf;
     return result;
}
NiCola999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL и кириллица GenniY БД в Delphi 11 01.11.2012 17:02
Кириллица и BDE mixer94 БД в Delphi 0 23.12.2009 12:59
Кириллица не подерживает? other Свободное общение 10 10.11.2009 16:47
кириллица в HLP andrey4623 Общие вопросы Delphi 2 12.06.2009 16:42
Кириллица в бинарнике Min Помощь студентам 2 12.11.2008 15:47