getopt函数的使用

函数说明 getopt()用来分析命令行参数。参数argc和argv分别代表参数个数和内容,跟main()函数的命令行参数是一样的。参数
optstring为选项字符串, 告知 getopt()可以处理哪个选项以及哪个选项需要参数,如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数,全域变量optarg 即会指向此额外参数。如果在处理期间遇到了不符合optstring指定的其他选项getopt()将显示一个错误消息,并将全域变量optarg设为“?”字符,如果不希望getopt()打印出错信息,则只要将全域变量opterr设为0即可。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
	int opt;

	while((opt = getopt(argc,argv,":if:lr"))!= -1)
	{
	  switch(opt)
	    {
	    case 'i':
	    case 'l':
	    case 'r':
	      printf("option :%c\n",opt);
	    break;
	    case 'f':
	      printf("filename: %s\n",optarg);
	      break;
	    case ':':
	      printf("option neads a value\n");
	      break;
	    case '?':
	      printf("unknown option:%c\n",optopt);
	      break;
	    }
	}
	for(; optind < argc; optind++)
	  {
	    printf("argument : %s\n",argv[optind]);
	    exit(0);
	  }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 16:18:49

getopt函数的使用的相关文章

getopt() 函数的简介

对于程序员来说,在linux上用的最多的就是通过命令行来运行程序,但是很多人都不是很清楚命令行的书写格式规范,所以当输入错误的时候,shell就会提示输入错误之类的信息. 我们可以自己编写命令行参数解析程序,但是其实linux已经提供了一个函数来实现相关的功能,这个函数就是getopt函数. 相关函数头文件 #include<unistd.h>函数原型及相关外部变量声明 int getopt(int argc,  char* const argv[ ],  const char* optstr

C语言-getopt函数

#include<unistd.h> int getopt(int argc,char *const argv[],const char *optstring); extern char *optarg; extern int optind,opterr,optopt; optstring为一个字符列表,每个字符代表一个单字符选项 全局变量: optarg:存数据 optind opterr:控制是否向STDERR打印错误.若值为0,则关闭打印错误信息 optopt:存储出错的option(如

getopt函数

平时在写程序时常常需要对命令行参数进行处理,当命令行参数个数较多时,如果按照顺序一个一个定义参数含义很容易造成混乱,而且如果程序只按顺序处理参数的话,一些"可选参数"的功能将很难实现. 我们可以使用getopt.getopt_long.getopt_long_only来对这个问题进行处理. #include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern

使用getopt函数对命令行短形参进行处理

今天,在看man 9 style时见到了用来处理命令行短形参getopt函数,很是诧异 -- 要知道,我处理命令行参数都是用手动的!于是我如获至宝,赶紧学习学习.getopt的原型被放在unistd.h中,它的原型是这样的:int getopt(int argc, char * const argv[], const char *optstring)这里的argc,argv就是main函数的形参,需要调用是只要把main形参给传过去就ok了.后面的optstring是一个集合,包括了所有可能的短

如何使用getopt()函数解析参数

最近在写程序的过程中,把一部分时间都花费在程序对参数的处理上.今天听了学长说到getopt函数,才发现原来c里面还有一个专门解决参数处理的函数,查询了相关资料,这里简单总结一下. 使用int main( int argc, char *argv[] )(或int main( int argc, char **argv ))时,系统将把用户输入的参数通过argc和argv引入程序中,argc为参数的个数,argv是指向参数的指针数组,其中第一个参数为自身程序文件名. 这里我们使用getopt() 

C语言getopt()函数

相关函数表头文件 #include<unistd.h> 定义函数 int getopt(int argc,char * const argv[ ],const char * optstring); 函数说明 该函数的argc和argv参数通常直接从main()的参数直接传递而来.optstring是选项字母组成的字串.如果该字串里的任一字符后面有冒号,那么这个选项就要求有选项参数. 当给定getopt()命令参数的数量 (argc).指向这些参数的数组 (argv) 和选项字串 (optstr

liunx 系统调用 getopt() 函数

命令行参数解析函数 -- getopt() getopt()函数声明如下: #include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg;extern int optind, opterr, optopt; 该函数的argc和argv参数通常直接从main()的参数直接传递而来.optstring是选项字母组成的字串.如果该字串里的任一字符后面有

Unix/Linux程序设计之getopt函数浅谈

Linux中getopt函数用法:    1.函数作用: getop函数用于解析命令行参数的以'-'或者'--'开头的参数选项,除去'-'或者'--'选项元素    如果被重复调用,则它将会依次返回每个选项元素中选项字符.    2.函数原型:        #include <unistd.h>     int getopt(int argc, char * const argv[],                   const char *optstring);     extern 

Python中getopt()函数的使用

在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能.目前有短选项和长选项两种格式.短选项格式为"-"加上单个字母选项:长选项为"--"加上一个单词.长格式是在Linux下引入的.许多Linux程序都支持这两种格式.在Python中提供了getopt模块很好的实现了对这两种用法的支持,而且使用简单. 取得命令行参数 在使用之前,首先要取得命令行参数.使用sys模块可以得到命令行参数.import sysprint sys.argv 然后在命令行

getopt()函数

在讨论这个函数之前我们先理解两个概念:选项及其参数 gcc -o program program.c 在上述命令中 -o 就是其选项 program就是参数. getopt(): 头文件: #include<unistd.h> 函数原型: int getopt(int argc,char * const argv[ ],const char * optstring); argc为参数个数,argv是一个指针数组. 外部变量 extern char *optarg;   //选项的参数指针,指向