以前windows编程的时候没太在意main函数里的两个参数int argc,和char *argv[],现在初学LINUX编程有必要看看。
“这两个参数用于在运行程序时,从外部给程序传递参数,其中argc中保存了参数的个数,argv中分别保存了各个参数.
例如一个程序的main()函数头部形如int main(int argc, char *argv[]),编译链接后生成的可执行文件名为a.exe,
那么请注意下面的调用: a.exe abc def在上面的命令行中,a.exe是要运行的程序名称,后面的abc和def就是传入程序
的两个参数,这两个参数就通过argc和argv传入程序,注意这些参数都是字符串。 通过上面的调用,在这个程序中,
argc=3,a.exe是第一个参数,这个字符串将保存在argv[0]中,abc和def分别是第二和第三个参数,它们分别被保存
在argv[1]和argv[2]中”
main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if (arg != 2)
err_quit("a single argument (the directory name) is required");
if ( (dp = opendir(argv[1]) ) == NULL)
err_sys("can't open %s",argv[1]); ......... exit(0);
} 默认编译产生为a.out可执行文件。执行命令#a.out /dev 那么程序中argc = 2,argv[1] = "/dev".