我正在阅读这本书Windows 系统编程。第二章有一个程序 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 编程的基本知识,这些东西真的很混乱。所以请解释一下。