背景

Linux下解析main函数参数,使用getopt,依赖头文件:#include <unistd.h>

代码如下:

static char g_deviceid[32] = {0};std::string g_serverIP = "172.18.18.18";
static int g_serverPort = 8888;void PrintHelp(char* prog)
{printf("%s usage.\n", prog);printf("eg:\n");printf("%s -i 172.18.18.18 -p 8888 -s 123456789\n", prog);printf("-i: ip address, default: 172.18.18.18\n");printf("-p: port number, default: 8888\n");printf("-s: serial number, default: 123456789\n");}
void ParseArg(int argc, char *argv[])
{int ch = 0;strcpy(g_deviceid, "123456789");if (argc == 2){if (!strcmp(argv[1], "?") ||!strcmp(argv[1], "--help") ||!strcmp(argv[1], "-h")){PrintHelp(argv[0]);exit(0);}}while ((ch = getopt(argc, argv, "i:p:s:")) != -1){switch (ch){case 'i':g_serverIP = optarg;break;case 'p':g_serverPort = atoi(optarg);break;case 's':memcpy(g_deviceid, optarg, 32);break;case '?':default:PrintHelp(argv[0]);exit(0);break;}}
}

李迟 2018.7.25 中午

Linux C解析命令行参数代码相关推荐

  1. linux 中解析命令行参数 (getopt_long用法)

    getopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下:   #include <getopt.h>        int getopt_long ...

  2. php解析命令行参数选项,PHP 命令行参数解析工具类的示例代码

    PHP 命令行参数解析工具类的示例代码 /** * 命令行参数解析工具类 * @author guolinchao */ class CommandLine { // 临时记录短选项的选项值 priv ...

  3. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

  4. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  5. Python 中的解析命令行参数

    argparse argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生 ...

  6. 在C#中解析命令行参数的最佳方法? [关闭]

    构建带有参数的控制台应用程序时,可以使用传递给Main(string[] args) . 过去,我只是索引/循环该数组,并做了一些正则表达式来提取值. 但是,当命令变得更复杂时,解析可能会变得很丑陋. ...

  7. python输入正方形边长值、计算其面积_尝试修改列6.2编写命令行参数解析的程序,解析命令行参数所输入边长的值,计算并输出正方形的周长和面积。_学小易找答案...

    [简答题] [单选题]ZigBee 中每个协调点最多可连接______个节点,一个ZigBee网络最多可容纳______个节点.( ) [资料题]DWord-Ans.pdf 索引和目录.pdf 完成效 ...

  8. python使用argparse解析命令行参数

    python使用argparse解析命令行参数 你的程序如何能够解析命令行选项(位于sys.argv中) #示意使用sys.argv进行参数解析: #注意,sys.argv中第0个索引是函数本身,所以 ...

  9. C语言中使用库函数解析命令行参数

    在编写需要命令行参数的C程序的时候,往往我们需要先解析命令行参数,然后根据这些参数来启动我们的程序. C的库函数中提供了两个函数可以用来帮助我们解析命令行参数:getopt.getopt_long. ...

最新文章

  1. 丢手帕java_java基于双向环形链表解决丢手帕问题的方法示例
  2. 敏感词过滤,PHP实现的Trie树
  3. 数据中台(一)数据资源规划与获取
  4. 使用iis发布wcf服务
  5. 关闭浏览器后退出登录_chdbits打不开了,关闭了吗
  6. How UI5 and FIORI deliver central Javacript library code MIME
  7. 在装好的xp系统里面如何添加新的硬件设备
  8. 字符串、对象、数组操作方法、json方法
  9. python数据结构之队列(一)
  10. 含有5亿个整数的大文件,如果排序?
  11. 金融时报:人工智能在银行中的应用—对全球30家大型银行的调查
  12. linux启动脚本卡住,linux 服务脚本启动问题
  13. python操作mysql数据库(增、删、改、查)_python对 MySQL 数据库进行增删改查的脚本...
  14. div中的p标签于img设置同一水平_HTML网页制作常用标签及说明——前端开发入门...
  15. POJ-1328 Radar Installation 贪心
  16. 高程数据处理_全国12.5米高程 DEM for WeServer 数据1.0
  17. php 变量存活期,php 变量生命周期:PHP源码分析-PHP的生_php
  18. (转)linux口令相关文件(/etc/passwd和/etc/shadow)
  19. 成为java架构师需要几年,详细说明
  20. 一文了解CISP,太全了

热门文章

  1. 最大隶属度原则_【模糊数学课程笔记】六、模糊模型识别I(最大隶属度原则)...
  2. 网易云音乐刷听歌量_「PC端」解锁网易云音乐灰色歌曲,让你听歌不用东跑西跑...
  3. python循环输入字符串_Python基础-条件判断、循环、字符串格式化
  4. 女性最容易动心的21种时刻
  5. win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置
  6. 豆瓣、唱吧、爱回收等106款应用被工信部下架
  7. 首发骁龙8 Gen1!联想陈劲:摩托罗拉edge X将给行业扔一颗大炸弹
  8. 特斯拉造人、小鹏骑马、小米遛狗,准车企们为何集体盯上了机器人生意?
  9. 最新安卓手机性价比榜公布:Redmi连夺三冠
  10. 贾跃亭“站台”!乐视高调宣布回归:60余款新品发布,还将发布超级手机