Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

С++ Русский язык visual studio

The Sausage Ученик (91), открыт 1 неделю назад
#include <iostream>
#include <string>

using namespace std;
int main()
{
setlocale(LC_ALL, "RU_ru");
string RuWord;
cout << "ПРИВЕТ слово:";
cin >> RuWord;
cout << RuWord;
return 0;
}
я пользуюсь visual studio раньше все было нормально но в один момент, программа перестала понимать то что я ввожу на русском. То есть "ПРИВЕТ слово:" он выводит, а RuWord(если ввести его на русском) он не понимает и выводит вместо этого : "ЇаЁў?в".
Единственное что мне помогло:
SetConsoleOutputCP(CP_UTF8);
SetConsoleCP(CP_UTF8);
Как это исправить и с чем это связано???
2 ответа
Макс Знаток (269) 1 неделю назад
а ты присвоил значение стринговой переменной?
Андрей СидоровГуру (2536) 1 неделю назад
Да
Макс Знаток (269) Андрей Сидоров, зайди в параметры, напиши в поисковую строку "кодировка", выбери windows 1251
МаксЗнаток (269) 1 неделю назад
можешь дать скрин visual studio
The Sausage Ученик (91) Макс,
The SausageУченик (91) 1 неделю назад
да, значение вводится в консоли ,заметил что после SetConsoleOutputCP(CP_UTF8);
SetConsoleCP(CP_UTF8); он понимает стринговую переменную,но не выводит "ПРИВЕТ слово:"
МаксЗнаток (269) 1 неделю назад
управление, затем параметры
The SausageУченик (91) 1 неделю назад
если я правильно понял, у меня уже выбрана windows 1251
The Sausage Ученик (91) The Sausage, к сожалению не помогло(
The SausageУченик (91) 1 неделю назад
помогло написать
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
раньше это не требовалось . Как это исправить?
Николай Веселуха Высший разум (382106) 1 неделю назад
 #include <cstdlib> 
#include <iostream>
#include <string>

using namespace std;

void cp1251() {
system("chcp 1251 > nul");
}

void cp866() {
system("chcp 866 > nul");
}

void cp65001() {
system("chcp 65001 > nul");
}

void pause() {
system("pause > nul");
}

int main() {
cp1251();
cout << "Введите текст на русском языке: ";
string russian;
getline(cin, russian);
cout << "Вы ввели: " << russian << '\n';
pause();
}
Похожие вопросы