#include <stdio.h>
int main(int argc, char const *argv[])
{
return 0;
}
| 参数 | 说明 |
|---|---|
| argc | 数组argv的长度,也就是命令行参数的个数+1 |
| argv[0] | 指向程序文件名字符串的指针 |
| argv[1] | 指向第1个命令行参数字符串的指针 |
| argv[2] | 指向第2个命令行参数字符串的指针 |
测试用例:
#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
if(argc <= 1){ // 即没有传入任何参数
return 1;
}
if(strcmp(argv[1], "num") == 0){
for (int i = 0; i < argc; i++)
{
printf("argv[%d] : %s\n", i, argv[i]);
}
}else if(strcmp(argv[1], "cnt") == 0){
printf("命令行数参数的个数有: %d\n", argc - 1);
}else{
printf("输入的参数不匹配");
}
return 0;
}
执行命令:
#编译源文件
E:\cpp>gcc argv.c -o argv
#执行
E:\cpp>argv.exe num first second third
argv[0] : argv.exe
argv[1] : num
argv[2] : first
argv[3] : second
argv[4] : third
E:\cpp>argv.exe cnt first second third
命令行数参数的个数有: 4
E:\cpp>argv.exe two
输入的参数不匹配