4

Приложение сделано в Visual Studio. Как вывести русские буквы в консольном приложении?

string stringl = "Применение алгоритма";
cout << stringl;
5
  • Погуглите на тему chcp "1251"
    – KoVadim
    12 окт 2011 в 11:53
  • 2
  • Обратите внимание на комментарий от @Angry Bird выше. В том вопросе на хэшкод все уже обсуждалось. Куча ответов. Пробуйте, но учтите простого решения дури в русской Винде с двумя кодировками нет.
    – avp
    12 окт 2011 в 19:50
  • 2
    <small> Самый лучший способ поставить linux и забыть обо всем этом как о страшном сне ;) </small>
    – user3545
    12 окт 2011 в 20:46
  • В Винде тоже люди.
    – avp
    13 окт 2011 в 13:26

5 ответов 5

2

Строку system("chcp 866"); можно писать, если русского языка нет в командной строке. В подобных целях надо писать:

include <locale.h>
........
setlocale(0,"RUS");
2
  • Спасибо. include <locale.h>, все получилось. CharToOem в MSVS выдает ошибку.
    – elena
    12 окт 2011 в 20:35
  • @elena, не забудьте принять ответ.
    – angry
    20 окт 2011 в 17:16
0

Это для Builder, но думаю должно работать.
Объявляете функцию:

void rcout(char *string)             
{ char new_string[255]; CharToOem(string,new_string); cout << new_string; }
вызываете так:
rcout("Тут ваш текст");

0

если работать в DevC++, то прямо в Мэйне, в самом начале до объявления вставляете

> setlocale( LC_ALL,"Russian" ); 
> setlocale( LC_ALL," ");
-1

Во первых при выводе, переведите строку в массив чаров:

cout << stringl.c_str();

Ну и если это не поможет, попробуйте воспользоваться:

setlocale( LC_ALL,"Russian");

И еще, как написал @KoVadim гугл имеет для Вас много ответов

1
  • cout << stringl.c_str(); это не перевод строки в массив чаров, это вывод массива, который содержится в классе string. И не важно, выводить так, или писать, как у автора. Правильно писать сразу setlocale.
    – 3JIoi_Hy6
    12 окт 2011 в 15:55
-1
#include <clocale> 
using namespace std;
int main(){
    setlocale(LC_CTYPE, "rus"); //"Rissian"
    cout<<"Великий могучий русский язык";
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.