一个比较简单的getopt,多平台通用

#include "stdio.h"char * host=0;
int port=0;
int is_show_help=0;#define true 1
#define false 0
typedef int bool;
bool getoption(int argc,char ** argv)
{char * p=0;for(int i=1;i<argc;i++){p = argv[i];if (*p++ !='-'){//printf("error option ,unknow -> %s\n",argv[i-1]);return false;}while(*p){switch(*p++){case '?':{//printf("-h");is_show_help=1;break;}case 'h':{if (argv[++i]){//printf("param -h=%s\n",argv[i]);host=argv[i];}break;}case 'p':{if (argv[++i]){/* printf("param -p=%d\n",atoi(argv[i])); */port = atoi(argv[i]);}break;}default:{break;}}}}return true;
}int main(int argc,char ** argv)
{if (! getoption(argc,argv) ){printf("param error\n");return 1;}if (is_show_help){printf("help!!!!!!!help me!\n");return 0;}if (host!='\0'){printf("host is -> %s \n",host);}if (port != 0){printf("port is -> %d \n",port);}
}

通用的启动参数获取getopt相关推荐

  1. Http请求头的Content-Type的几种格式和对应的后端参数获取

    今天在前后端联调开发过程中,出现了一个后端通过request.getParameterMap()方法获取不到请求参数的问题,所以在此做一个记录,并提出解决方案. 首先,出现问题是因为数据格式为Requ ...

  2. idea java opts_idea为java程序添加启动参数(program arguments,vm arguments,Environment variable),并在程序中获取使用...

    # 一.问题描述 # ## 1. 开发环境 ## 1. idea2019 2. jdk1.8 3. win10 在实际的项目开发中我们经常需要为java程序添加一些启动参数(又叫java启动命令),比 ...

  3. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数

    起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...

  4. linux 内核空间 sy,在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysf...

    级别: 初级 燚 杨 (), 计算机科学硕士 2006 年 2 月 16 日 本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数.模块参数 ...

  5. Linux下Shell脚本命令行参数:getopt、getopts用法

    目录 简介 getopt 简介 支持选项 用法 getopt optstring parameters getopt [options] [--] getopt [options] -o|--opti ...

  6. 日常记录:java启动参数 -javaagent的使用,应用启动前添加代理包并且注册Mbean

    前言 有时候是不是很苦恼想在不修改别人的应用(或者统一处理所有的应用)情况下如何添加额外功能?那么-javaagent启动参数就能处理这个问题. 还有上一章讲的(日常记录:java 注册以及获取MBe ...

  7. JVM 启动参数详解:博观而约取、厚积而薄发

    JVM 作为一个通用的虚拟机,我们可以通过启动 Java 命令时指定不同的 JVM 参数,让 JVM 调整自己的运行状态和行为,内存管理和垃圾回收的 GC 算法,添加和处理调试和诊断信息等等.本节概括 ...

  8. java 启动参数_网红框架SpringBoot2.x之定制参数浅析(一)

    我们都知道,SpringBoot框架最吸引人的地方之一就是他针对各种框架组件集成都提供了缺省的配置,"零配置"集成和开发是它的终极目标.理论上你不做任何特殊配置,都可以启动项目. ...

  9. SpringBoot实现通用的接口参数校验

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:cipher juejin.im/post/5af3c25b ...

最新文章

  1. Spark SQL来读取现有Hive中的数据
  2. java 内部thread_Java代码质量改进之:使用ThreadLocal维护线程内部变量
  3. python aes加密 cbc_【转载】python AES CBC模式加密
  4. 北大OJ(POJ 3237)鸡兔同笼
  5. Windows-DHCP
  6. Tensorflow——Tensorboard可视化
  7. python能做的java能做吗_java – Jython不能做什么Python?
  8. 以太坊生态缺陷导致的一起亿级代币盗窃大案
  9. 常见的文件名后缀及用法
  10. 一起来读书361- 应用密码学:第十一章 数学背景
  11. javaee第一天作业
  12. 基于AForge.Net框架的扑克牌识别
  13. 第二个Flash小游戏制作(打飞机)
  14. Scheduling restart of crashed service
  15. EBAZ4205 ZYNQ 7Z010原始LINUX系统的修改与使用
  16. eclipse开发jsp环境的插件
  17. Ubuntu18.04无法显示屏扩展、亮度无法调节,只能设置最大亮度,wifi无法联网解决办法
  18. python requests post 中文结果请求得到unicode
  19. 基于uni-app开发的微信小程序
  20. 姚期智领衔开设清华人工智能班,北大机器人专业开始招生

热门文章

  1. 单元测试之—JUnit与SpringTest的完美结合
  2. kotlin中学习笔记——null
  3. ubuntu18.04(bionic) 配置阿里数据源
  4. [Swift]LeetCode944. 删除列以使之有序 | Delete Columns to Make Sorted
  5. OpenStack从入门到放弃
  6. Leetcode题解(22)
  7. [转]Android中dp,px,sp概念梳理以及如何做到屏幕适配
  8. 为 Sublime Text 3059 配置 PHP 编译环境
  9. 快速了解 MySQL 的性能优化
  10. ActiveMQ消息中间件的作用以及应用场景