Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1814744
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 系统运维

2012-03-29 12:51:00

当一个程序被执行时,使用exec的进程可以传递命令行参数给这个新的程序。这是UNIX系统外壳的普通操作的一部分。我们在前面章节中的很多例子里已经看到过。


看下面的例子:



  1. #include <stdio.h>

  2. int
  3. main(int argc, char *argv[])
  4. {
  5.     int i;

  6.     for (i = 0; i < argc; i++) /* echo all command-line args */
  7.         printf("argv[%d]: %s\n", i, argv[i]);
  8.     exit(0);
  9. }


  $ ./a.out 123 hello good "bye bye"
argv[0]: ./a.out
argv[1]: 123
argv[2]: hello
argv[3]: good
argv[4]: bye bye

我们被ISO C和POSIX.1两者保证argv[argc]是一个空指针。这允许我们用另一种方式编码参数处理循环:
for (i = 0; argv[i] != NULL; i++)

阅读(517) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~