Как в VS code на С++ сделать ввод русских слов например в массив, чтобы они сохранялись?
Есть структура с параметрами
string name
int age
Пользователь вводит Артём 19
Но при выводе получается {, 19}
Русское слово не добавляется, как исправить?
По дате
По рейтингу
дай пожалуйста свой код, ибо я не могу понять ошибку. или можешь сравнить с простым примером:
1234567891011121314151617181920212223242526
#include <locale>
#include <Windows.h>
#include <iostream>
struct User {
std::string name;
unsigned int age;
};
int main() {
setlocale(LC_ALL, "ru");
SetConsoleCP(1251);
User new_user;
std::cout << "Введите имя и возраст: ";
std::cin >> new_user.name >> new_user.age;
if (std::cin.fail()) { // если вместо возраста был введен символ
std::cerr << "Некорректный ввод!" << std::endl;
} else {
std::cout << "Данные пользователя: " << new_user.name << ", " << new_user.age << std::endl;
}
return 0;
}
тут "setlocale" и "SetConsoleCP" позволяют коррректно обрабатывать кириллицу
setlocale(LC_ALL,"Rus"); - инструкция везде может вставляться
1234567891011121314151617
#include <iostream>
#include <locale>
using namespace std;
int main() {
setlocale(LC_ALL, ""); // Включаем поддержку русского языка
string name;
int age;
cout << "Введите имя и возраст: ";
cin >> name >> age;
cout << "Вы ввели: " << name << ", " << age << endl;
return 0;
}
Проверь, что файл сохранён в UTF-8
Запускай через cmd или PowerShell
Больше по теме