对应的视屏链接:鲍松山的个人空间_哔哩哔哩_bilibili
目录
1、命令行参数概述
平时写主函数为:
int main()
{
return 0;
}
事实上main函数是可以带参数的,我们把main函数的参数称为命令行参数
int main(int argc, char *argv[])
{
return 0;
}
2、命令行参数使用
现在有两个问题,一是这两个参数分别代表什么意思,二是参数如何使用
-
参数的含义
argc : argument count 参数个数
argv : argument value 参数的值
其中:可以思考argv是什么类型,为什么要这样设计?
-
参数打印
int main(int argc, char *argv[])
{
printf("argc = %d\n", argc);
for (int i = 0; i < argc; ++i)
{
printf("%s\n", argv[i]);
}
return 0;
}
-
参数传递----通过IDE传递
调试->属性->配置属性->调试->命令参数
【注】:不同参数之间采用空格分隔
-
参数传递----通过cmd传递
通过win+R调出运行窗口,输入cmd,进入命令行,然后进入可执行文件所在的目录,通过可执行文件后面跟参数,即可向main函数传递参数,这种用法是最正宗的命令行参数使用方式,因为早期没有IDE
3、命令行参数应用----文件拷贝
int main(int argc, char *argv[])
{
FILE *fpIn = fopen(argv[1], "r");
if (fpIn == NULL)
{
printf("open %s file error.\n", argv[1]);
return -1;
}
FILE *fpOut = fopen(argv[2], "w");
if (fpIn == NULL)
{
printf("open %s file error.\n", argv[2]);
fclose(fpIn);
return -1;
}
char ch = fgetc(fpIn);
while (ch != EOF)
{
fputc(ch, fpOut);
ch = fgetc(fpIn);
}
fclose(fpIn);
fclose(fpOut);
return 0;
}