argc和argv中的ARG指的是“参数”arguments , argument counter 和 argument vector ;
argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数;
* argv[ ]: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数;
以前我一直不知道这有什么实际的作用。书中讲了个例子:
读最后一个参数不是选项而是文件名且倒数第二个参数“-f”,就执行读取邮件的操作;
<pre class="cpp" name="code">if(argv[argc-1][0] == '-' || (argv[argc-2][0] == 'f'))
readmail(argc, argv);
else
sendmail(argc, argv);
读最后一个参数不是选项而是文件名且倒数第二个参数“-f”,就执行读取邮件的操作;
第二个用户名字为“f”的造成无法发送;
修正:
if(argv[argc-1][0] == '-' || (argv[argc-2][0] =='-' && (argv[argc-2][1]) == 'f'))
readmail(argc, argv);
else
sendmail(argc, argv);
这个问题是由于对参数的槽糕解析引起。我在这学习的主要是对这汇总方法的学习