Как я могу напечатать значения wchar_t для консоли? - программирование
Подтвердить что ты не робот

Как я могу напечатать значения wchar_t для консоли?

Пример:

#include <iostream>

using namespace std;

int main()
{
    wchar_t en[] = L"Hello";
    wchar_t ru[] = L"Привет"; //Russian language
    cout << ru
         << endl
         << en;
    return 0;
}

Этот код только печатает значения HEX, такие как адрес. Как напечатать строку wchar_t?

4b9b3361

Ответ 1

Изменить: это не работает, если вы пытаетесь написать текст, который не может быть представлен в вашем стандартном языковом стандарте.: - (

Используйте std::wcout вместо std::cout.

wcout << ru << endl << en;

Ответ 2

Можно ли предложить std::wcout?

Итак, что-то вроде этого:

std::cout << "ASCII and ANSI" << std::endl;
std::wcout << L"INSERT MULTIBYTE WCHAR* HERE" << std::endl;

Здесь вы можете найти дополнительную информацию по соответствующему вопросу .

Ответ 3

Вы можете использовать обычный массив char, который на самом деле заполняется символами utf-8. Это должно позволить смешивать символы на разных языках.

Ответ 4

#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
cout << "\tДОБРО ПОЖАЛОВАТЬ В КИНО!\n";
}

Ответ 5

мы не ищем простых путей!

int i = 0;
while (ru[i]) {
   std::cout << (char)ru[i];
   i++;
}