c++ string wchar-t unicode-string

c++ - ¿Cómo puedo imprimir los valores wchar_t en la consola?



string wchar-t (5)

Ejemplo:

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

Este código solo imprime valores HEX como dirección. Cómo imprimir la cadena wchar_t?


¿Puedo sugerirle std::wcout ?

Entonces, algo como esto:

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

Puede encontrar más información en una pregunta relacionada here .


Editar: Esto no funciona si está intentando escribir texto que no se puede representar en su configuración regional predeterminada. :-(

Use std::wcout lugar de std::cout .

wcout << ru << endl << en;


Puede utilizar una matriz de caracteres normal que en realidad está llena de caracteres UTF-8. Esto debería permitir mezclar caracteres en todos los idiomas.


no estamos buscando maneras fáciles!

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


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