首页 > 其他 > 详细

(转)int argc, char* argv[] 的用法

时间:2014-01-16 20:27:02      阅读:415      评论:0      收藏:0      [点我收藏+]
int main(int argc, char* argv[])

這兩個參數的作用是什麼呢?argc 是指命令行輸入參數的個數argv存儲了所有的命令行參數
假如你的程式是hello.exe,如果在命令行運行該程式,運行命令為:

hello.exe hello world

那麼,argc的值是 3,argv[0]是"hello.exe",argv[1]是"hello",argv[2]是"world"。

在 linux 裏常看到 cmd -o xx -p xx 等用法,linux libc 函式庫則提供一套 function 來幫您解析。

extern char *optarg;
void usage(char *argv0)
{
fprintf(stderr,
"Usage: %s [-c count] [-r] [-s]",
argv0);
}
int main(int argc, char *argv[])
{
for (;;) {
c = getopt( argc, argv, "c:rs");
if (c == EOF) break;
switch (c) {
case ‘c‘:
probe_count = atoi(optarg);
break;
case ‘r‘:
replay++;
break;
case ‘s‘:
set_clock++;
break;
default: // show usage

usage(argv[0]);
exit(1);
}
}
}

getopt 會解析 argc, argv 從 patten "c:rs" 後面帶參數要加":",
傳回值為抓到的參數字元,無則傳回 EOF,並將參數值存在 global 參數 optarg,
再使用 atoi 轉換成 integer。

(转)int argc, char* argv[] 的用法

原文:http://www.cnblogs.com/assassin/p/3518343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!