main函数带参数C程序设计模板
#define MAX_PARA 6
{
int ID;//参数编号
int content_num;//本参数后带的选项数目
bool IShave_prefix;//暂只接受必须使用-xx之类的参数前缀。
char prefix[32];
char content[256];
bool IShave_default_c;
char default_content[256];
bool ISnot_optional;
bool ISinput;
};
// 参数编号,参数选项数目,是否有参数前缀(如-s),参数前缀,参数选项内容,
// 是否存在默认值,默认值,是否必选参,是否已得到参数(根据用户输出才修改)
{2,1,true,"-c","",false,"",true,false}, //-c
{5,1,true,"-m","",false,"",false,false}, //-m
{6,1,true,"-p","",false,"",false,false} //-p
};
int generate_parameter(int argc,char ** argv)
{
if( (argc==1) ||
((argc==2) && ( strcmp(argv[1],"-h")==0 || strcmp(argv[1],"-H")==0 || strcmp(argv[1],"-?")==0 ) )
)
printf("is help");
else
{
int i,j,k;
for(i=1;i<argc;i++)
{
for(j=0;j<MAX_PARA;j++)
{
if( strcmp(argv[i],para_list[j].prefix)==0 )//输入的参数前缀是允许的,在列表在存在
{
if(para_list[j].ISinput)//之前已经有过这个参数了。
{
printf("The \"%s\" Can only input once.\n",para_list[j].prefix);
return(-1);
}
else//正常收录参数
{
para_list[j].ISinput=true;
if(para_list[j].content_num>=(argc-i))//检测所需的参数是否没有完全输入
{
printf("The \"%s\" incomplete.\n",para_list[j].prefix);
return(-1);
}
for(k=0;k<para_list[j].content_num;k++)
sprintf(para_list[j].content,"%s%s",para_list[j].content,argv[i+1+k]);
i+=para_list[j].content_num;
para_list[j].ISinput=true;
break;//跳出for循环。
}
}
}
if(j>=MAX_PARA)//参数前缀输入错误,如果存在没有前缀的参数,应在此加入代码
{
printf("The \"%s\" is error!\n",argv[i]);
return(-1);
}
}
//下列代码对必选参数进行检查。
for(i=0;i<MAX_PARA;i++)
{
if(para_list[i].ISnot_optional==true && para_list[i].ISinput==false) //必选项未输入
{
printf("The \"%s\" must be input.\n",para_list[i].prefix);
return(-1);
}
}
}
return 0;
}
{
if(generate_parameter(argc,argv)!=0)
return -1;
//用户代码
return 0;
}
main函数带参数C程序设计模板相关推荐
- Linux下main函数带参数问题和atoi函数详解
1.main函数带参数 基本格式:main(int argc,char * argv[]) argc参数保存命令行参数的个数,是整形变量 具体用法可有如下代码看下: a1.c: #include &l ...
- main函数带参作用
关于main函数带参的一些说明 刚开始还不知道main函数带个参数有什么用,后来发现很多可执行文件都是main函数带参的,那些带有选项的命令行命令就是这样的程序.比如ping -h,-h就是个参数. ...
- main函数的参数详解,它们是何时何处传入的?(main函数的参数值是从操作系统命令行上获得的)
一般的main函数都是不带参数的,因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有两个, 习惯上这两个参 ...
- c语言中argc的作用,C语言中main函数的参数argc和argv
参考资料: C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* arg ...
- main函数的参数的含义
转载自:点击链接 链接2 加qq1126137994 微信:liu1126137994 一起学习更多技术!!! 最近学习服务器网络编程,遇到了一个问题,main函数的参数,特意整理资料记录之!!! 下 ...
- C++ main函数中参数argc和argv
argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...
- C 中 main 函数的参数
看到不同的人写出的 C 或者 C++ 程序时,可能会出现不一样的 main 函数的定义,下面的几种定义方式都是对的: int main(void)int main(int argc)int ...
- C++ main函数中参数argc和argv含义及用法( argument count和 argument vector)
rgc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写(注意:不是argument value的缩写,自己以前理解错了), ...
- 【C/C++】main函数之参数argc和argv含义及用法
初识argc和argv,对其用法甚是困惑,偶得大神"-牧野-"之总结,犹如醍醐灌顶,故转载分享如下,供更多博友学习. argc 是 argument count的缩写,表示传入ma ...
最新文章
- Pandas常见的数据过滤方法、通过列条件筛选行数据
- 大头贴计算机教程,美颜相机大头贴在哪里 教你怎么弄动漫大头贴
- Java截取最后一个/后面的所有字符
- centos7 启动流程图_Linux启动过程详解
- Java第一个程序Helloworld
- 数据结构与算法笔记(十)—— 快速排序
- (课程学习笔记)Python基础学习
- crazyradio焊接和下载固件过程
- python watchdog休眠_python watchdog
- dedecms后台崩溃或者后台访问慢的解决方法
- node.js 框架基本功能
- C++ std::set find 错误 operator中不能有<=
- 机器人机构学基础(朱大昌)第三章部分习题答案
- 韦东山第3期嵌入式Linux项目-视频监控-2-从零写USB摄像头驱动(UVC驱动)
- 十六进制换算成二进制、八进制、十进制
- exploit completed, but no session was created
- 计算机在哪里修改储存默认磁盘,Win7资源管理器修改默认显示磁盘小教程
- 开发管理---项目的范围、时间与成本
- 在网络世界中如何才能保护好自己的安全?
- 添加项目到debug调试
热门文章
- 该项研究降低了使用大脑信号控制机器人手臂的位置误差
- eeglab中文教程系列(2)-绘制脑电头皮图
- AI超清修复张国荣《热·情》演唱会,22年前哥哥面部和舞台极度还原,歌迷泪奔...
- 索尼AI CEO:我们要让AI在30年内拿到诺贝尔奖
- IEEE Fellow、AI大牛田奇加入华为云!他为何而来?“加速AI基础研究落地”
- 【PHP开发规范】继承与扩展:PSR-2 编码风格规范
- 【跃迁之路】【674天】程序员高效学习方法论探索系列(实验阶段431-2018.12.19)...
- WPF中如何将ListViewItem双击事件绑定到Command
- Bytom移动端钱包SDK开发基础
- ZooKeeper Watch Java API浅析getChildren