命令行参数
C程序的main函数有两个形参
① argc:表示命令行参数的个数
② argv:指向一组参数值
如果程序需要访问命令行参数,需要在main函数声明时添加以下
int main(int argc, char **argv)
案例
实现对文件的操作
-a 选项
-b 选项
//2021/04/21H:\C和指针练习\C和指针练习题\C和指针练习题.vcxproj
#include <iostream>
using namespace std;
//空文件的处理
void process_standard(void)
{
cout << "file is empty!" << endl;
}
//文件的处理方式
void process_file(char* filename)
{
cout << filename << "is working..." << endl;
}
//全局参数,由于是静态存储区,会初始化为0
int opt_a, opt_b;
int main(int argc, char **argv)
{
while (*++argv != NULL && **argv == '-')
{
switch (*++* argv) {
case 'a':
opt_a = 1;
cout << "set a 1" << endl;
break;
case 'b':
opt_b = 1;
cout << "set b 1" << endl;
break;
}
}
//处理文件名参数
if (*argv == NULL)
{
process_standard();
}
else
{
do
{
process_file(*argv);
} while (*++argv != NULL);
}
}