我怎样才能打印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_tstring?
编辑:如果您正在尝试编写不能用默认语言环境表示的文本,则这不起作用。 🙁
 使用std::wcout而不是std::cout 。 
 wcout << ru << endl << en; 
 我可以build议std::wcout ? 
所以,这样的事情:
 std::cout << "ASCII and ANSI" << std::endl; std::wcout << L"INSERT MULTIBYTE WCHAR* HERE" << std::endl; 
您可能会在这里find相关问题的更多信息。
你可以使用一个正常的字符数组,实际上是用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++; }