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
ここまで。