Russian Qt Forum
Ноябрь 23, 2024, 14:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: c++ locale  (Прочитано 2475 раз)
stima
Гость
« : Март 23, 2012, 15:40 »

Проблема с выводом русских букв в консоль. Маленькая ремарка, при появление руских букв в консоль ничего не выводиться !но программа дольше коректо выполняеться, как это понять?)
Я пробывал:

Код:
int main()
{
    //Вариант 1:
    setlocale(LC_ALL, "");
    std::cout << setlocale(LC_ALL, NULL) << std::endl; //возвращяет "C"

    //Вариант 2:
    try {
         std::locale::globale(std::locale(""));
    } catch (std::exeption &e)
    {
        std::cout << e.what() << std::endl; // Возвращает "Bad locale"
    }

    //Вариант 3:
    TCHAR wlocale[255]; //это юникод строка
    GetSystemDefaultLocaleName(wlocale, 255); // Возвращает "ru_Ru"
    _tsetlocale(LC_ALL, wlocale);
    std::cout << setlocale(LC_ALL, NULL) << std::endl; // Возвращяет "C";

    //Варинат 4:
    // тотже только для std::locale()
    return 0;
}

маленькое замечание, надо ставить не только русскую локаль, а установленную на системе.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 20.