Ответ 1
Изменить: это не работает, если вы пытаетесь написать текст, который не может быть представлен в вашем стандартном языковом стандарте.: - (
Используйте std::wcout
вместо std::cout
.
wcout << ru << endl << en;
Пример:
#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?
Изменить: это не работает, если вы пытаетесь написать текст, который не может быть представлен в вашем стандартном языковом стандарте.: - (
Используйте std::wcout
вместо std::cout
.
wcout << ru << endl << en;
Можно ли предложить std::wcout
?
Итак, что-то вроде этого:
std::cout << "ASCII and ANSI" << std::endl;
std::wcout << L"INSERT MULTIBYTE WCHAR* HERE" << std::endl;
Здесь вы можете найти дополнительную информацию по соответствующему вопросу .
Вы можете использовать обычный массив char, который на самом деле заполняется символами utf-8. Это должно позволить смешивать символы на разных языках.
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
cout << "\tДОБРО ПОЖАЛОВАТЬ В КИНО!\n";
}
мы не ищем простых путей!
int i = 0;
while (ru[i]) {
std::cout << (char)ru[i];
i++;
}