argv.h

来自「dtelent是开源的开发项目」· C头文件 代码 · 共 40 行

H
40
字号
/* argv.h
 * Copyright (C) 1998 David Cole
 *
 * Implement getopt() like argv/argc parsing
 */
#ifndef __argv_h
#define __argv_h

typedef struct OptRet {
    int optind;		/* index of current argument */
    char *optarg; 	/* point to data associated with argument */
} OptRet;

extern OptRet opt;

int getoptInit(char* str, char** argv, int argvSize);
int getopt(int argc, char* argv[], const char* opts);

/* opts syntax:
	'letter'   option is a single letter with no value eg '/B'
	'letter:'  option is a single letter with value eg '/H host'
	'(ident)'  long option without value eg '/CloseOnExit'
	'(ident):' long option with value eg '/AnswerBack VT320-DaveCool'

   return value:
	for short options: the letter itself eg 'B'
	for long options: GETOPT_LONGOPT + position in "opts" - see example
	on error: '?'

   example:
	opts="B:CD(ANSWERBACK):A:"
	"/Bvalue"           returns 'B'
	"/AnswerBack VT520" returns LONGOPT+4 (check why 4!)
	"/Ared-white"       returns 'A'
*/

#define GETOPT_LONGOPT 1000

#endif

⌨️ 快捷键说明

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