c语言main函数参数详解,c/c++程序main函数参数解析,以及参数传递的不同方法

1. 程序运行时传递参数的不同方法:

1)通过命令参数传递参数; 2) 通过txt文件读取参数。

2. 方法举例

1)通过命令参数传递参数,即解析main函数的参数。

main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。所以C99标准中规定只有以下两种定义方式是正确的:

int main(void) //无参形式

int main(int argc, char *argv[]) //有参形式

当然有参形式可以进行演变,所以下面的写法也是正确的(同时变量名是可以更换的):

int main(int argc, char **argv) //有参的另一种形式

int parseOptions(int argc, char** argv, int &imgWid, int &imgHei, int &imgCnt)

{

int i = 0;

if(argc == 1)

{

return -1;

}

for (i = 1; i < argc; i++)

{

if (strcmp(argv[i], "-w") == 0)

{

imgWid = (int)atoi(argv[++i]);

}

else if (strcmp(argv[i], "-h") == 0)

{

imgHei = (int)atoi(argv[++i]);

}

else if (strcmp(argv[i], "-c") == 0)

{

imgCnt = (int)atoi(argv[++i]);

}

else

return -1;

}

return 0;

}

int main(int argc, char** argv)

{

int imgWid, imgHei, imgCnt;

if(-1 == parseOptions(argc, argv, imgWid, imgHei, imgCnt))

{

printf("Get parameter failed!\n");

exit(-1);

}

...

}

运行方法为:

a. 在vs下运行时:在工程属性的命令参数行中输入:-w 640 -h 480 -c 10 即可

b. 在DOS下如果生成可执行文件为example.exe放在D盘内,则输入:D:example -w 640 -h 480 -c 10 即可

2)通过TXT文件读取参数

int main(int argc, char** argv)

{

int imgWid, imgHei, imgCnt;

FILE* srcFile = NULL;

srcFile = fopen("parameter_list.txt","r");

if (srcFile == NULL)

{

printf("Open parameter_list failed!\n");

exit(-1);

}

while (!feof(srcFile))

{

fscanf(srcFile,"%d", &imgWid);

fscanf(srcFile,"%d", &imgHei);

fscanf(srcFile,"%d", &imgCnt);

printf("imgWid=%d imgHei=%d imgCnt=%d\n", imgWid, imgHei, imgCnt);

...

}

...

}

parameter_list.txt文件中的参数如下:

640 480 10

1280 720 10

1920 1080 10

3840 2160 10





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值