если внимательно посмотрите то увидите что в консоле первая строчка совсем по русски не отображаетсЯ.
и еще обратите внимание, я перебробовал три разных способа подключения русского кода, часть из них под уже коментарии записана.
сам код блокс (в нем пишу я) сохраняет файл в виндовс-1251 кодировке.
что делать не знаю
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, или вообще выводи сообщения на английском.
В редакторе у тебя кодировка CP1251, а в консоли CP866.
Привет от DOS. :)
Перед выводом в консоль надо менять кодировку в сообщениях.
Для 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);
#include >iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Русский текст в консоли" << endl;
return 0;
}