Как сменить таблицу символов в c++?

Пользователь

от velma , в категории: C/C++ , год назад

Как сменить таблицу символов в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от akeem , год назад

@velma 

В C++ можно изменить таблицу символов с помощью функций из стандартной библиотеки locale. Например, чтобы установить русскую таблицу символов, нужно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include 
#include 

int main()
{
    std::locale ru("ru_RU.UTF-8"); // устанавливаем русскую локаль

    std::cout.imbue(ru); // устанавливаем локаль для вывода

    std::cout << "Привет, мир!" << std::endl;
}


После установки локали все функции считывания и записи будут использовать заданную таблицу символов. Например, при чтении данных из файла можно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include 
#include 
#include 

int main()
{
    std::locale ru("ru_RU.UTF-8"); // устанавливаем русскую локаль

    std::ifstream input("data.txt");
    input.imbue(ru); // устанавливаем локаль для ввода

    std::string data;
    std::getline(input, data);

    std::cout << data << std::endl;
}