Это мой первый вопрос на сайте, хотя я уже давно сюда захожу для справки.Я понимаю, что argv [0] хранит имя программы, а остальные аргументы командной строки хранятся в оставшихся слотах argv [k].Я также понимаю, что std :: cout обрабатывает указатель на символ как строку с нулевым символом в конце и выводит строку.Ниже приведена моя программа.
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << argv[0] << " ";
cout << argv[1] ;
return 0;
}
Согласно всем другим программам, которые я видел по моему поиску в Интернете в этой проблеме, эта программа должна распечатать две строки, а именно.Название программы и аргумент командной строки.В окне консоли отображается
0010418c 001048d6
Я считаю, что это указатели на argv [0] и argv [1] соответственно.Единственный аргумент командной строки, который у меня есть, это «nanddumpgood.bin», который идет в argv [1] и правильно показывает строки, если при наведении курсора мыши на массивы argv [].
Что это происходит?Что я делаю неправильно?Я так понимаю, массивы распадаются на указатели в особых случаях?Это тот случай, когда это не так?