Другие языки программирования и технологии

C++ проблемма русификации консоли. не могу сделать чтобы консоль была русской



если внимательно посмотрите то увидите что в консоле первая строчка совсем по русски не отображаетсЯ.
и еще обратите внимание, я перебробовал три разных способа подключения русского кода, часть из них под уже коментарии записана.
сам код блокс (в нем пишу я) сохраняет файл в виндовс-1251 кодировке.
что делать не знаю
... ..
... ..
6 684
GCC для винды не поддерживает установку русской локали (функция setlocale), а SetConsoleOutputCP будет работать, если для консольного окна установишь шрифт TrueType. Попробуй конвертировать:

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

using namespace std;

string ru(const char *s) {
    char *b = new char[strlen(s)];
    CharToOem(s, b);
    string r(b);
    delete[] b;
    return r;
}

string ru(string &s) { return ru(s.c_str()); }

int main() {
    string s = "русский текст в консоли (string)\n";
    cout << ru(s);
    cout << ru("русский текст в консоли (char [])\n");
    return 0;
}

ЗЫ:
Лучше не парься и сохраняй в кодировке cp866, или вообще выводи сообщения на английском.
Umid Jon
Umid Jon
87 485
Лучший ответ
... .. работает но только бы разобратьсЯ)))
... .. сохранил в кодировке виндовс-1251 работает, а кодировка 866 не нашел такой. только 936
В редакторе у тебя кодировка CP1251, а в консоли CP866.
Привет от DOS. :)
Перед выводом в консоль надо менять кодировку в сообщениях.
Сергей Орлов
Сергей Орлов
54 409
... .. я чтото подобное читал уже. но так и не понял что где какая кодировка. помогай мне. настроить надо
Для Clion:

Cygwin - при установке в выборе пакетов нужно найти и отметить всякие cmake, GDB и прочие, кем-нибудь рекомендуемые к установке.
Сlion - File - Settings - Editor - File Encodings: IDE Encoding, Project Encoding, main.cpp (Ваш исполняемый файл) - UTF-8,
Default encoding for properties files - IBM866
В окне редактора внизу - UTF-8.
#include

SetConsoleCP(866); SetConsoleOutputCP(866);
Сергей Лысенко Включить заголовочный файл windows.h
#include >iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Русский текст в консоли" << endl;
return 0;
}
Сергей Орлов О как...
Спасибо, не знал.
... .. нет не помогло. возможно в визуал работает но не в код блоксе