QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 840|回复: 4

OPTIND ,getopt()

[复制链接]
发表于 2004-12-21 21:58:49 | 显示全部楼层 |阅读模式
#define getopt_long( a, b, c, d, e ) getopt( a, b, c )
static struct option m_option[]=
{
{"hello",1,NULL,'s'},
{"h78lo",1,NULL,'p'},
{"helo",2,NULL,'e'},
{"he12o",0,NULL,'g'},
{"hello",0,NULL,'x'},
{"hel5o",0,NULL,'c'},
{"hello",0,NULL,'b'},
{"hel23o",1,NULL,'q'},
{"hell6",1,NULL,'b'},
{NULL,0,NULL,0}
};
print_help()
{
/// none
}
int main(int argc,char *argv[])
{
int option;
               
option = getopt_long( argc, argv, "s:p:e:g:gcbqb",m_options, NULL );

if( argc - optind == 0 )
        {
                print_help();
                return( 1 );
        }
}
 楼主| 发表于 2004-12-21 21:59:46 | 显示全部楼层
还有 include的文件
#include "config.h"

#include <time.h>
#include <ctype.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <netdb.h>
#ifndef        NOGETOPTLONG
#define _GNU_SOURCE
#include <getopt.h>
#endif
#include <limits.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
#include <stdarg.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <net/if.h>
#include <pthread.h>
回复

使用道具 举报

 楼主| 发表于 2004-12-21 22:01:08 | 显示全部楼层
里面的 optind 是干什么的?
是不是总是比argc 小1 呢?

怎么会冒出来呢?
还有 getopt() 这个函数 从那里来的呢?
望赐教 ^^
回复

使用道具 举报

发表于 2004-12-22 03:19:37 | 显示全部楼层
man 3 getopt
回复

使用道具 举报

 楼主| 发表于 2004-12-22 21:40:55 | 显示全部楼层
知道了
其实最关键是 想知道  optind 和 argc的关系
我猜测 argc-optind因该等于 1
是吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 21:32 , Processed in 0.054211 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表