コマンドライン引数を用いて選択したファイルを開けるようにした。ようやく理解できたので忘備録を書いていこうと思う。
まず基本的なプログラムの書き方については省略。今回一番大事なのはargcとargv[]の使い方とそれぞれのもつ意味を理解することだと思った。
argcはプログラム名を含むすべての引数の数としてカウントされる
例えばコマンドライン./a.out 100 abcと記述するとargcは3になる。これは
argv[0]=./a.out
argv[1]=100
argv[2]=abc
の3つに分けるからだ。
私はコマンドラインに下記のように打ち込み、
chcp 65001 > nul && booksystem %USERPROFILE%\Downloads\books_large.txt
次のようなプログラムを書き、確かめた。
printf("argc=%d\n",argc);
for(int i=0;i<argc;i++){
printf("argv[%d]=%s\n",i,argv[i]);
}
//出力結果
argc=2
argv[0]=booksystem
argv[1]=C:\Users\tanag\Downloads\books_large.txt
filename(ファイル名)を表しているのはargv[1]であり、argv[0]はソリューション?の名前を表している?と思った。ファイル名を入れるためにここでif(argc > 1)と書かなくてはならないかなああ