かなり前から参考のためにここに来ていますが、これがサイトでの最初の質問です。argv [0]はプログラムの名前を格納し、残りのコマンドライン引数は残りのargv[k]スロットに格納されることを理解しています。また、std :: coutが文字ポインタをnullで終了する文字列のように扱い、文字列を出力することも理解しています。以下は私のプログラムです。
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << argv[0] << " ";
cout << argv[1] ;
return 0;
}
この号でインターネット検索で見た他のすべてのプログラムによると、このプログラムは2つの文字列を出力する必要があります。プログラムの名前とコマンドライン引数。コンソールウィンドウに次のように表示されます
0010418c 001048d6
これらはそれぞれargv[0]とargv[1]へのポインタだと思います。私が持っている唯一のコマンドライン引数は「nanddumpgood.bin」です。これはargv[1]に入り、デバッグ中にargv[]配列にマウスを合わせると文字列が正しく表示されます。
これは何が起こっているのですか?私は何が間違っているのですか?特別な場合、配列はポインタに減衰しますか?これはそうではない場合ですか?