C Primer Plus ---- Chapter 11 ----Character Strings and String Functions ---- 5. 命令行参数
程序员文章站
2024-03-01 16:30:40
...
C Primer Plus ---- Chapter 11 ----Character Strings and String Functions ---- 5. 命令行参数
程序执行时,可以从命令行传值给 c 程序,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。
命令行参数是使用 main() 函数参数来处理的。
int main(int argc, char *argv[])
第一个参数 argc 为 argument count,指在命令行中的字符串的数目。系统通过空白字符来分隔字符串,数目也包括输入的命令名字,因此实际用到输入的参数是 argc-1。
程序将命令行输入的字符串存储在内存中,用一个数组来存放字符串的地址,这个指针数组就是第二个参数 argv,即 argument value。
/* 11.31 repeat.c -- main() with arguments */
#include <stdio.h>
int main(int argc, char *argv[])
{
int count;
printf("The command line has %d arguments:\n", argc - 1);
for (count = 1; count < argc; count++)
printf("%d: %s\n", count, argv[count]);
printf("\n");
return 0;
}
命令行输入以下参数:
$ repeat Resistance is futile
其中第一个 repeat 是程序名字。
argv[0] points to repeat (for most systems)
argv[1] points to Resistance
argv[2] points to is
argv[3] points to futile
结果:
The command line has 3 arguments:
1: Resistance
2: is
3: futile
上一篇: functions.c文件说明
下一篇: 《JDBC中SQL条件查询》