7.4 命令行参数

7.4 命令行参数

当执行一个程序时,调用exec的进程可将命令行参数传递给该新程序。这是UNIX shell的一部分常规操作。在前几章的很多实例中,我们已经看到了这一点。

程序7 - 3将其所有命令行参数都回送到标准输出上。注意,通常(UNIX echo(1)程序不回送第0个参数)

#include <stdio.h>



int main(int argc, char *argv[])

{

int i;

for (i = 0; i < argc; i++)

// for (i = 0; argv[i] != NULL, i++)

printf("argv[%d] = %s\n", i, argv[i]);

return 0;

}


      如果编译该程序并将可执行程序文件命名为echoarg,那么

$./echoarg hello world

argv[0] = ./echoarg

argv[1] = hello

argv[2] = world

由于ISO CPOSIX . 1都要求a rgv [argc] 是一个空指针。这就使我们可以将参数处理循环改写为:

for(i = 0; argv[i] != NULL; i++)

posted @ 2011-10-11 20:37  郭—大—侠  阅读(153)  评论(0编辑  收藏  举报