写c程序,让用户一次又一次的输入参数输入回车是很不友好也很不明智的方法.所以为了更好的用户体验,参数应该可以在执行程序的时候直接就可以把参数都设定完成.好吧,说下main函数的参数.
一般我们就给main两个参数,写成如下形式:
main (int argc,char *argv[])
其中argc是统计的参数个数,默认为1.因为执行文件的文件名就是一个参数.
理所当然,argv[0]也是默认就有的,内容就是文件名.
当然,这个argc跟argv是可以更换为其它名称的,只要数据类型对就ok的.
解释这些估计就了解了个差不多了.然后直接看个实例就应该可以理解了.
实例:调用wget来下载一个文件.要求可以直接输入下载地址,如果输入两个参数则报错,提示使用方法:
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- int main (int argc,char *args[]){
- if(argc > 2){
- printf("Error input!\nUsages:wget [http/ftp url]\n");
- exit(1);
- }
- char *url = args[1];
- printf("The URL is:%s\n",url);
- execlp("wget","wget","-c",url,NULL);
- exit(0);
- }