我有一个如下的程序:
#include <iostream>
using namespace std;
int main()
{
wcout << "abc" << endl;
cout << "你好" << endl;
cout << L"abc" << endl;
return 0;
}
我的问题:
第一个&#34; wcout&#34;没有问题,我的问题是:wcout&#34;自动&#34;转换为窄字符串&#34; abc&#34;进入wchar_t字符串L&#34; abc&#34;在记忆中,打印出来?如何证明这种转换是否存在?
第二个&#34; cout&#34;打印出中文字符串&#34;你好&#34;。只要我在windows中设置中文代码页,它就可以工作。没问题。
第三个&#34; cout&#34;将打印&#34; ??&#34;我的测试中的随机字符。我很好奇,为什么&#34; cout&#34;可以成功打印其他语言字符,但不能打印wchar_t字符串?这里的核心问题/区别是什么?
感谢。