Nat*_*ver 4 c++ iostream tchar
代码:
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << argv[0] << endl;
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,一个标准的 Win32 控制台应用程序。
令人困惑的部分是, 的值argv[0]输出为00035B88。
(据我所知)这是在没有命令行选项的情况下运行的,所以argv[]应该还没有值。(或者这就是问题所在?)
然而,argv[]被声明为指针(_TCHAR*),我听说它将cout打印指针的地址。是这样吗?如果是这样,我如何打印/使用 的值argv?
_TCHAR如果可执行文件是使用 Unicode 选项构建的,则为宽字符类型。cout无法处理宽字符,因此char *它(有效地)使用默认值,而不是将其转换为 a 并打印出字符串void *打印机打印出字符串的地址。
wcout代替使用。