getopt_long 函数
- #define _GNU_SOURCE
- #include <getopt.h>
- extern char *optarg;
- extern int optind, opterr, optopt;
- int getopt_long(int argc, char *const argv[], const char *optstring, const struct option *longopts, int *longindex);
- int getopt_long_only(int argc, char *const argv[], const char *optstring, const struct option *longopts, int *longindex);
描述:
- #include <stdio.h>
- #include <stdlib.h>
- #include <getopt.h>
- int main(int argc, char **argv)
- {
- extern char *optarg;
- extern int optind, opterr, optopt;
- int c;
- int digit_optind = ;
- while ()
- {
- int this_option_optind= optind ? optind : ;
- int option_index = ;
- static struct option long_options[] =
- {
- {"add", required_argument, NULL, },
- {"append", no_argument, NULL, },
- {"delete", required_argument, NULL, },
- {"verbose", no_argument, NULL, },
- {"create", required_argument, NULL, 'c'},
- {"file", required_argument, NULL, },
- {, , , },
- };
- c = getopt_long(argc, argv, ":abc:d:012", long_options, &option_index);
- if (c == -)
- break;
- switch (c)
- {
- case :
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
- case '':
- case '':
- case '':
- if (digit_optind != && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
- case 'a':
- printf ("option a\n");
- break;
- case 'b':
- printf ("option b\n");
- break;
- case 'c':
- printf ("option c with value \"%s\"\n", optarg);
- break;
- case 'd':
- printf ("option d with value \"%s\"\n", optarg);
- break;
- case '?':
- break;
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
- if (optind < argc) {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
- exit();
- }
运行自行操作测试
getopt_long 函数的更多相关文章
- getopt_long函数使用【转】
转自:https://blog.csdn.net/cashey1991/article/details/7942809 平时在写程序时常常需要对命令行参数进行处理,当命令行参数个数较多时,如果按照顺序 ...
- 命令行参数解析函数getopt和getopt_long函数【转】
原文地址:http://blog.csdn.net/cashey1991/article/details/7942809 getopt和getopt_long函数 平时在写程序时常常需要对命令行参 ...
- getopt() getopt_long()函数手册[中文翻译]
getopt()函数 getopt_long函数 函数原型(function prototype) #include <unistd.h> int getopt(int argc, cha ...
- [置顶] getopt_long函数基本用法-linux
一.感性认识: [c-sharp] view plain copy #include <stdio.h> #include <getopt.h> char * l_opt ...
- Linux getopt()函数 getopt_long()函数---转
http://hi.baidu.com/scoundrelgg/item/d4083f8412eea05d26ebd97f Linux getopt()函数 getopt_long()函数 get_o ...
- C语言中getopt()和getopt_long()函数的用法
一.参考文章 1.C语言中getopt()和getopt_long()函数的用法 2.linux 中解析命令行参数 (getopt_long用法) 二.调试经验
- 命令行參数选项处理:getopt()及getopt_long()函数使用
在执行某个程序的时候,我们通常使用命令行參数来进行配置其行为.命令行选项和參数控制 UNIX 程序,告知它们怎样动作. 当 gcc的程序启动代码调用我们的入口函数 main(int argc ...
- webbench源码学习-->命令行选项解析函数getopt和getopt_long函数
对于webbench这个网站压力测试工具网上介绍的很多,有深度详解剖析的,对于背景就不在提了, 听说最多可以模拟3万个并发连接去测试网站的负载能力,这里主要是学习了一下它的源码,做点 笔记. 官方介绍 ...
- getopt_long函数解析命令行参数
转载:http://blog.csdn.net/hcx25909/article/details/7388750 每一天你都在使用大量的命令行程序,是不是感觉那些命令行参数用起来比较方便,他们都是使用 ...
随机推荐
- 家谱(gen)——洛谷P2814
#include <iostream> #include <string> #include <map> using namespace std; map < ...
- 天翼云 RDS数据库操作
1.RDS数据库创建好之后点击RDS实例管理找到已下信息 官方文档 -1:http://www.ctyun.cn/help/qslist/567 官方文档 -2:http://www.ctyun.cn ...
- elementUI 时间选择器,时间选择快捷键
elementUI的时间快捷键,使用属性:picker-options="pickerOptions",由于pickerOptions的定义很长,也在其他地方共用,因此建议提取出来 ...
- 【hihocoder 1475】 数组分拆
[题目链接]:http://hihocoder.com/problemset/problem/1475 [题意] _< [题解] /* 别人的题解 首先对于每个位置预处理数组的前缀和,即s[i] ...
- Set Time, Date Timezone in Linux from Command Line or Gnome | Use ntp
https://www.garron.me/en/linux/set-time-date-timezone-ntp-linux-shell-gnome-command-line.html Set ti ...
- VMware 12安装CentOS 6.9时出现:The centos disc was not found in any of your drives.Please insert the centos disc and press OK to retry
错误: The centos disc was not found in any of your drives.Please insert the centos disc and press OK t ...
- HDU多校赛第9场 HDU 4965Fast Matrix Calculation【矩阵运算+数学小知识】
难度上.,,确实...不算难 问题是有个矩阵运算的优化 题目是说给个N*K的矩阵A给个K*N的矩阵B(1<=N<=1000 && 1=<K<=6),先把他们乘起 ...
- 几种new
http://www.cnblogs.com/luxiaoxun/archive/2012/08/10/2631812.html new .operator new 和 placement new 区 ...
- Yarn的工作流程
http://study.163.com/course/courseLearn.htm?courseId=1002887002#/learn/video?lessonId=1003346099& ...
- HDOJ 5421 Victor and String 回文串自己主动机
假设没有操作1,就是裸的回文串自己主动机...... 能够从头部插入字符的回文串自己主动机,维护两个last点就好了..... 当整个串都是回文串的时候把两个last统一一下 Victor and S ...