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

📄 xgetopt.c

📁 Linux下的无线网卡通用驱动程序
💻 C
字号:
/*    getopt.c */#include <errno.h>#include <string.h>#include <stdio.h> int     xoptind = 1;    /* index of which argument is next  */char   *xoptarg;        /* pointer to argument of current option */int     xopterr = 0;    /* allow error message  */ static  char   *letP = NULL;    /* remember next option char's location */char    SW = '-';				/* DOS switch character, either '-' or '/' *//*  Parse the command line options, System V style.  Standard option syntax is:    option ::= SW [optLetter]* [argLetter space* argument]*/int xgetopt(int argc, char *argv[], char *optionS){    unsigned char ch;    char *optP;    if (SW == 0) {        SW = '/';    }    if (argc > xoptind) {        if (letP == NULL) {            if ((letP = argv[xoptind]) == NULL ||                *(letP++) != SW)  goto gopEOF;            if (*letP == SW) {                xoptind++;  goto gopEOF;            }        }        if (0 == (ch = *(letP++))) {            xoptind++;  goto gopEOF;        }        if (':' == ch  ||  (optP = strchr(optionS, ch)) == NULL)            goto gopError;        if (':' == *(++optP)) {            xoptind++;            if (0 == *letP) {                if (argc <= xoptind)  goto  gopError;                letP = argv[xoptind++];            }            xoptarg = letP;            letP = NULL;        } else {            if (0 == *letP) {                xoptind++;                letP = NULL;            }            xoptarg = NULL;        }        return ch;    }gopEOF:    xoptarg = letP = NULL;    return EOF;gopError:    xoptarg = NULL;    errno  = EINVAL;    if (xopterr)        perror ("get command line option");    return ('?');}

⌨️ 快捷键说明

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