這是我在網站上的第一個問題,儘管我一直在這裏參考相當一段時間。我知道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'的參數 –