C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

C++ コマンドライン引数 書いて覚えるための初心者自己中記事

プログラムの始まりに情報を受け入れる。

プログラムを実行するときに情報を渡す。

視点が違うけど、この情報は常に文字列で渡される。

これをコマンドライン引数と呼ぶ。

 

現在居るディレクトリをカレントディレクトリと呼ぶ。

cd    カレントディレクトリを変更するコマンド

..  は親ディレクト

 

cd という命令に .. というパラメータを渡した。このパラメータがコマンドライン引数。

system関数の場合も

system( Main1  ここにコマンドライン引数 )

と出来る。

 

これを受け取るためにはmain関数の仮引数になにかしなければならない。

int main(int argc, char* argv[]) {

こうするらしい。

第一引数 int argc は引数の数

第二引数 char* argv[] はコマンドライン引数(文字列)の配列

 

ちょいちょいネットで見かけていたのはこれだったのか。

でビルドしたプログラムをコマンドプロンプトコマンドライン引数つけて実行。

int main(int argc, char* argv[]) {
	for (int i = 0; i < argc; ++i) {
		cout << argv[i] << endl;
	}
 
//system("pause");
}

ここから下はコマンドプロンプト
C:\Users\--\source\repos\Project2\Debug>Project2 these are cmmand line argument
Project2
these
are
cmmand
line
argument

送ったコマンドライン引数がプログラムにちゃんと送られている。

 

C:\Users\tmsak\source\repos\Project2\Debug>Project2 "these are cmmand line argument"
Project2
these are cmmand line argument

 

 

" で囲えば一つの文字列として渡る。

また、argv[] 配列で、引数の後にはNULLが入っている。

つまり argv[ argc ] == NULL

 

ここまで。