这是我在网站上的第一个问题,尽管我一直在这里参考相当一段时间。我知道argv [0]存储程序的名称,其余的命令行参数存储在其余的argv [k]槽中。我也明白,std :: cout把一个字符指针看作是一个以null结尾的字符串,并将字符串打印出来。以下是我的计划。无法在VC++中使用std :: cout打印出argv []值
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << argv[0] << " ";
cout << argv[1] ;
return 0;
}
根据我在互联网搜索中看到的所有其他程序,这个程序应该打印出两个字符串即viz。程序名称和命令行参数。控制台窗口显示
0010418c 001048d6
相信这些都是ARGV [0]和argv [1] RESP的指针。 我唯一的命令行参数是“nanddumpgood.bin”,它在argv [1]中进行,如果在调试时将鼠标悬停在argv []数组上,则会正确显示字符串。
这是怎么回事?我究竟做错了什么?我明白,在特殊情况下数组会衰减到指针?这是它没有的情况吗?
工作。谢谢。 :) –
如果他使用'wcout',他不妨改变'wchar_t'的参数 –