Здравствуйте.
Изучаю недавно c++. Попробовал выводить русские символы в консоль. Сначала были проблемы, но затем получилось. Однаков в процессе выяснилось, что если в программе используется один из потоков (cout и wcout), то второй поток не работает, или работает неверно. Например:
#include <iostream>
using std::cout;
using std::wcout;
using std::endl;
int main() {
setlocale(LC_ALL, "ru_RU.UTF8");
//Если первым в программе выводится cout, то wcout выводит непонятные значения вместо русских букв
cout << "Тест 1" << endl;
wcout << L"Тест 1 L" << endl;
cout << "Тест 1" << endl;
wcout << L"Тест 1 L" << endl;
/* Результат:
Тест 1
"5AB 1 L
Тест 1
"5AB 1 L
//*/
return 0;
}
#include <iostream>
using std::cout;
using std::wcout;
using std::endl;
int main() {
setlocale(LC_ALL, "ru_RU.UTF8");
//Если первым в программе выводится wcout, то cout не выводится вообще
wcout << L"Тест 2 L" << endl;
cout << "Тест 2" << endl;
wcout << L"Тест 2 L" << endl;
cout << "Тест 2" << endl;
/* Результат:
Тест 2 L
Тест 2 L
//*/
return 0;
}
В чем причина, или может я что-то неправильно делаю?