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





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

  1. c语言rand函数生成随机数,详解C语言生成随机数rand函数的用法

    说到rand函数,大家是不是会和EXCEL中的rand函数混淆,当小编第一次接触的时候也以为是EXCEL的函数,本文是爱站技术频道小编为大家带来的详解C语言生成随机数rand函数的用法,一起来看看吧! ...

  2. python中index函数_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  3. 计算机网络参数怎么看,电脑显示器参数详解 看完秒懂! 显示器参数怎么看?...

    显示器参数怎么看?无论是显示器的宣传.购买页面,还是专业媒体的显示器评测中,我们都会看到一些用来描述显示器性能的参数.小编觉着,显示器就像是电脑的一张面孔,显示着它的各种表情,也负责与用户的沟通,而显 ...

  4. python grid函数_详解numpy中的meshgrid函数用法

    numpy中的meshgrid函数的使用 numpy官方文档meshgrid函数帮助文档https://docs.scipy.org/doc/numpy/reference/generated/num ...

  5. c语言fclose函数作用,详解C语言中freopen()函数和fclose()函数的用法

    C语言freopen()函数:打开文件函数,并获得文件句柄 头文件: #include 定义函数: FILE * freopen(const char * path,const char * mode ...

  6. np.randon模块,numpy.random模块各函数功能详解,分类描述各个函数功能,生成随机数

    因为网上很多文章都是在依次列举各个函数的功能,并没有做分类,所以记忆上还有使用上都不方便. 本文旨在将功能相似的函数放在一起,以及对它们进行辨析和区分,便于精准地调用.未完待续 最权威的参考来源:Ra ...

  7. 【Kafka】Kafka生产者producer相关参数详解batch.size linger.ms 等参数

    1.概述 生产环境中使用Kafka,参数调优非常重要,而Kafka参数众多,我们的java的Configuration代码中,经常设置的参数如下: Properties props = new Pro ...

  8. c语言 is函数,关于C语言回调函数的详解~

    原标题:关于C语言回调函数的详解~ 01 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义.我在百度上搜了一下, ...

  9. ioctl 函数 参数 详解

    2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...

最新文章

  1. 浅谈.NET(C#)与Windows用户账户信息的获取
  2. 20145328 《网络对抗技术》恶意代码分析
  3. 【POJ】【2449】Remmarguts' Date
  4. Conputer Vision-边缘检测-OpenCV实践
  5. StringBuffer
  6. 【Linux】一步一步学Linux——nohup命令(136)
  7. 将switch case转为条件驱动
  8. FileNotFoundError: [Errno 2] No such file or directory: 'traingingDigits/0_0.txt'
  9. IOS 模态弹窗与操作版使用 UIAlertController
  10. SONICWALL E-Class NSA 系列简介
  11. clion eap 预览版 免费版
  12. Ubuntu下安装Nginx服务器并进行优化
  13. 多个需要验证的输入框思路问题
  14. java基础知识总结(经典)_Java基础知识总结(超级经典)(三)
  15. Win11怎么设置鼠标箭头图案?Win11更换鼠标图案的方法
  16. 用ERStudio生成带注释的SQL,为每个column生成注释
  17. macOs 静默安装dmg文件
  18. javascript判断常用浏览器版本和类型兼容处理
  19. selenium 安装教程
  20. WordPress资讯小程序源码分享

热门文章

  1. 顾问成长(13)-从麦肯锡30秒理论看顾问演讲时间控制
  2. 用于语义分割的解码器 diffusion 预训练方法
  3. 【叽里呱啦G客沙龙】5月18日,来叽里呱啦和技术大牛一起Geek分享!
  4. 分享我收藏的SQL知识以及SQL语句简单实践通俗易懂
  5. AUTOSAR从入门到精通-【应用篇】基于无线网络的汽车 ECU 数据交互模块研发
  6. Excel Day5
  7. 变频电风扇c语言编程,乐高EV3第二讲,电风扇,大型电机的应用
  8. [DIY]小日子过得不错的日本松下吹风机
  9. 图片服务器项目+测试总结
  10. 动态链接库和静态链接库的相互包含问题及实现