Windows System Programmingという本を読んでいます。第二章には、プログラム Cat.c があり、Linux の cat コマンドを実装しています。コードはhttp://pastebin.com/wwQFp599です
20 行目で、関数が呼び出されます。
iFirstFile = Options (argc, argv, _T("s"), &dashS, NULL);
オプションのコードはhttp://pastebin.com/QegxxFpnです
ここで、オプションのパラメーターは
(int argc, LPCTSTR argv [], LPCTSTR OptStr, ...)
1) この「…」は何ですか?LPCTSTR 型の引数を無制限に指定できるということですか?
2)プログラムをcat -s a.txtとして実行すると
a) argc は何で、その理由は何ですか? b) argv は何で、その理由は何ですか? c) _T("s") とは? ここで _T が使用されるのはなぜですか? d) なぜ &dashS が使用されるのですか? おそらくブール値のアドレスです。しかし、これを使用する背後にあるロジックを理解できません。e) 最後のパラメータとして NULL を渡したのはなぜですか?
私はCプログラミングの基本的な知識を持っていますが、これらのことは本当に混乱しています. 親切に説明してください。