Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Не выводится на монитор кириллица.


Автор: torero 8.12.2009, 20:19
   Первый раз написал программу на С++, как консольное приложение. И вот оператор printf("текст"); выводит на экран только фразы на английском,
 а на русском-абракадабра. Что нужно сделать?

Автор: bsa 8.12.2009, 20:22
почитать http://forum.vingrad.ru/forum/topic-269794/kw-faq-c++.html

Автор: torero 9.12.2009, 10:13
   Прошу прощения, поторопился вчера с вопросом, а потом сразу же увидел "часто задаваемые вопросы". 
  Оператор  setlocale(LC_ALL," "); решил проблему, но только для VC++2005. Но для VC++6.0 это не помогло. Не помогли и другие рассматриваемые операторы:
  ::SetConsoleCP(::GetACP());  ::SetConsoleOutputCP(::GetACP()); Правда 6-я студия уже не очень актуальна, но всё таки...

Автор: bsa 9.12.2009, 12:03
torero, ты уверен, что в setlocale(LC_ALL, "")  - в кавычках нет пробела?

Автор: TaNK 9.12.2009, 17:19
я сделал так 
russian.h
Код

#ifndef RUSSIAN_H_INCLUDED
#define RUSSIAN_H_INCLUDED

#include <iostream>
#include <windows.h>


void  Rus (const char*, short n = 0);


void  Rus (const char*  ch, short n)
{
    using namespace std;

    char* rus_char = new char[strlen(ch)+1];
    CharToOem(ch,rus_char);

    switch(n)
    {
        case 0  : cout << rus_char << endl; break;
        case 1  : cout << rus_char << " " ; break;
        default : cout << rus_char << endl; break;
    }

    delete [] rus_char;
}

#endif



а в коде использую 

Код


         Rus("Нельзя отрицательную сумму вносить на счет!");
}

Автор: papochka 9.12.2009, 18:28
У меня експресс студия 2008 и нормально работает setlocale(LC_ALL,"Russian");

Автор: torero 9.12.2009, 21:00
Цитата(bsa @ 9.12.2009,  12:03)
torero, ты уверен, что в setlocale(LC_ALL, "")  - в кавычках нет пробела?

 Пробела нет, проверил. Но с программой TaNK-а всё получается очень удобно. Обоим большое спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)