⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getopt.c

📁 wm PNE 3.3 source code, running at more than vxworks6.x version.
💻 C
字号:
/* $Header: /usr/cvsroot/target/src/wrn/wm/demo/unxagent/getopt.c,v 1.1.1.1 2001/11/05 17:49:15 tneale Exp $ *//* * Copyright (C) 1999-2005 Wind River Systems, Inc. * All rights reserved.  Provided under license only. * Distribution or other use of this software is only * permitted pursuant to the terms of a license agreement * from Wind River Systems (and is otherwise prohibited). * Refer to that license agreement for terms of use. *//**************************************************************************** *  Copyright 1993-1997 Epilogue Technology Corporation. *  Copyright 1998 Integrated Systems, Inc. *  All rights reserved. ****************************************************************************//* * $Log: getopt.c,v $ * Revision 1.1.1.1  2001/11/05 17:49:15  tneale * Tornado shuffle * * Revision 7.6  2001/01/19 22:24:58  paul * Update copyright. * * Revision 7.5  2000/03/17 00:14:55  meister * Update copyright message * * Revision 7.4  1998/02/25 04:58:11  sra * Update copyrights. * * Revision 7.3  1997/03/20 06:54:19  sra * DFARS-safe copyright text.  Zap! * * Revision 7.2  1997/02/25 10:58:16  sra * Update copyright notice, dust under the bed. * *//* [clearcase]modification history-------------------01a,19apr05,job  update copyright notices*//*LINTLIBRARY*/#include <string.h>#define NULL	0#define EOF	(-1)#define ERR(s, c)	if(opterr){\	extern int write();\	char errbuf[2];\	errbuf[0] = c; errbuf[1] = '\n';\	(void) write(2, argv[0], (unsigned)strlen(argv[0]));\	(void) write(2, s, (unsigned)strlen(s));\	(void) write(2, errbuf, 2);}extern int strcmp();extern char *strchr();int	opterr = 1;int	optind = 1;int	optopt;char	*optarg;int  getopt(int    argc,	 char **argv,	 char  *opts){	static int sp = 1;	register int c;	register char *cp;	if(sp == 1)		if(optind >= argc ||		   argv[optind][0] != '-' || argv[optind][1] == '\0')			return(EOF);		else if(strcmp(argv[optind], "--") == NULL) {			optind++;			return(EOF);		}	optopt = c = argv[optind][sp];	if(c == ':' || (cp=strchr(opts, c)) == NULL) {		ERR(": illegal option -- ", c);		if(argv[optind][++sp] == '\0') {			optind++;			sp = 1;		}		return('?');	}	if(*++cp == ':') {		if(argv[optind][sp+1] != '\0')			optarg = &argv[optind++][sp+1];		else if(++optind >= argc) {			ERR(": option requires an argument -- ", c);			sp = 1;			return('?');		} else			optarg = argv[optind++];		sp = 1;	} else {		if(argv[optind][++sp] == '\0') {			sp = 1;			optind++;		}		optarg = NULL;	}	return(c);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -