对应的视屏链接:鲍松山的个人空间_哔哩哔哩_bilibili
目录
1、命令行参数概述
2、命令行参数使用
3、命令行参数应用----文件拷贝
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;
}