Windows System Programmingという本を読んでいます。第二章には、プログラムがありCat.c
ます。cat
Linuxのコマンドを実装しています。コードはhttp://pastebin.com/wwQFp599です
これが私を混乱させる部分です:
/* iFirstFile is the argv [] index of the first input file. */
iFirstFile = Options (argc, argv, _T("s"), &dashS, NULL);
if (iFirstFile == argc) { /* No files in arg list. */
CatFile (hStdIn, hStdOut);
return 0;
}
コメントiFirstFile
で述べたように、最初の入力ファイルのargv []
インデックスです。
それは、もし私が試してみたら、しかしcat -s abc.txt
、という意味です。iFirstFile = 2
argc == 3
私はどのような状況で考えられないのiFirstFile == argc
ですか?その背後にあるロジックを理解できません。誰か私にこの部分を説明してもらえますか?