LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1365|回复: 12

[gcc] 请求一个例子,最好有完整的代码。谢谢。

[复制链接]
自由狼-台风 该用户已被删除
发表于 2003-7-29 13:25:25 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-7-29 13:56:14 | 显示全部楼层

  1. void main(int argc, char **argv)
  2. {
  3.         if (0 >= argc){
  4.                 return;
  5.         }
  6.         for (int i = 1; i < argc; i++){
  7.                 printf("%s", argv[i]);
  8.         }
  9.         return;
  10. }
复制代码

程序打印所有用户输入的参数。
注意:argv[0] = "a.out"
参数数量在X86的Linux系统上通常最大为32768个,包括argv[0]。
发表于 2003-7-29 15:53:21 | 显示全部楼层
用getopt,参见:
http://www.linuxsir.net/bbs/showthread.php?s=&threadid=48004
主要看一下main函数。
自由狼-台风 该用户已被删除
 楼主| 发表于 2003-7-29 17:21:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
自由狼-台风 该用户已被删除
 楼主| 发表于 2003-8-17 09:20:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-8-17 11:02:38 | 显示全部楼层
argv不是二维数组
不能argv[j]使用。
例如:用char *pchar之类吧
拷贝用strcmp 或
for ( int ix = 1; ix < argc; ++ix ) {
   char *pchar = argv[ ix ];
   // ...
}
自由狼-台风 该用户已被删除
 楼主| 发表于 2003-8-17 15:11:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-8-17 16:15:32 | 显示全部楼层
“我打算通过参数得到3个变量”
是什么意思?
自由狼-台风 该用户已被删除
 楼主| 发表于 2003-8-17 20:46:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-8-18 03:39:47 | 显示全部楼层
要是像你上面写的参数是固定的那就这样:

  1. if(argc != 4)
  2.   ... /* 错误
  3. LG = arg[1][0];
  4. x = atoi(argv[2]);
  5. y = atoi(argv[3]);
复制代码

当然,应该再加一些检查和错误处理的代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表