Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Dev-C++ аброказябры вместо русских букв (http://forum.oszone.net/showthread.php?t=260139)

alik751075 07-05-2013 21:27 2146197

Dev-C++ аброказябры вместо русских букв
 
Dev-C++ v.4.9.9.2 Моя первая программа и сразу стопор.В программе мне необходимы строки на русском,но после компиляции и запуска, в консоли вместо русских букв аброказябры.Танцы с бубном,типа: смены с_1252.nls на c_1251.nls, замены шрифта в cmd,пройденные этапы.При вводе слов в cmd нормальное отображение русских букв.В Google видел решение этой проблеммы только для VisualC++. Моя программа- перевод градусов цельсия см.скриншот

mrcnn 08-05-2013 03:36 2146353

Попробуйте следующим образом
Код:

#include <iostream>
#include <locale>
int main()
{
    std::locale rus("rus_rus.866");
    std::wcout.imbue(rus);
    std::wcout << L"Привет, мир!!!";
    return 0;
}

читать дальше »
http://www.gamedev.ru/code/faq/?id=3619

alik751075 08-05-2013 07:17 2146378

mrcnn, Спасибо за ссылку!У меня анг.XP не локализованная(mul.ru установлен,но диалоги оставленны на английском,чтобы привыкать к языку).Вечером буду пробираться через"терни к звёздам" дальше.

alik751075 08-05-2013 20:12 2146731

mrcnn, Добавил строки #include <locale> и std::locale rus("rus_rus.866"); окно сразу изчезает, но успел увидеть русские буквы есть. см.скрин

yurfed 08-05-2013 20:42 2146739

Так не получается?
Код:

#include <iostream>
#include <sstream>
#include <locale>
using namespace std;

int main()
{    // установка русской локали
    wcout.imbue(locale("rus_rus.866"));
    wcin.imbue(locale("rus_rus.866"));
   
    wstring name;
   
    wcout << L"Введите ваше имя: " << endl;
    wcin >> name;
    wcout << L"Привет " << name << L"!" << endl;
   
    system("PAUSE");
    return 0;
}

Цитата:

Цитата alik751075
окно сразу изчезает, но успел увидеть русские буквы »

Паузу не хотите воткнуть?

alik751075 09-05-2013 04:06 2146951

yurfed, Почитав дальше "C++ Для чайников" паузу я втыкал результата не было.Компилятор выдаёт ошибку на строку " wcout.imbue(locale("rus_rus.866")); "

alik751075 09-05-2013 05:31 2146955

yurfed, Пауза заработала,только в старом проекте с абрроказабрами,главное программа рабочая-переводит градусы цельсия в фаренгейты и даже пишет по русски "для продолжения нажмите любую клавишу" смю скрин.

alik751075 09-05-2013 06:00 2146957

Скопировал в папку два скачанных файла-gccrus.exe и g++rus,а в настройках программы сделал следующее см.скрин.Диалоги стали по русски.Ура, рад как ребёнок!Спасибо всем за участие.Тему закрываю.


Время: 22:34.

Время: 22:34.
© OSzone.net 2001-