| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2126 人关注过本帖
标题:int mian( int argc, char ** argv) 命令行参数初始化?
只看楼主 加入收藏
jasondotty
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
int mian( int argc, char ** argv) 命令行参数初始化?
如何从命令行获取参数,比如,在Linux命令窗口输入如下指令: programname key1=value, key2=value2.... 程序programname便能从命令行获取参数,而这通常需要参数初始化。如下,就是一个参数初始化的程序,不是很明白,哪位大侠能指点一二,不甚感激!
程序代码:

/* parameter table */typedef struct {    char *name;        /* external name of parameter    */    char *asciival;        /* ascii value of parameter    */} pointer_table; extern int xargc; extern char **xargv; /* global variables declared and used internally */static pointer_table *argtbl;    /* parameter table        */static int nargs;        /* number of args that parse    */static int tabled = FALSE;    /* true when parameters tabled     */static size_t targc;        /* total number of args        */static char **targv;        /* pointer to arg strings    */static char *argstr;        /* storage for command line    */ /* functions declared and used internally */static int getparindex (int n, char *name);static void getparinit(void);static void tabulate (size_t argc, char **argv);static char *getpfname (void);#if 0/* getpars.c:571: warning: `white2null' defined but not used *//* not used */static size_t white2null (char *str, size_t len);#endifstatic int ccount (char c, char *s); /*--------------------------------------------------------------------*\  These variables are used by checkpars() to warn of parameter typos.  par= does not use getpar() so we need to store that as the first  parameter name.  lheaders= is buried in fgettr() so we intialize  that also\*--------------------------------------------------------------------*/ #define PAR_NAMES_MAX 512 static char* par_names[PAR_NAMES_MAX];static int   par_count=0;static int parcheck = 0;  /* make command line args available to subroutines -- re-entrant version */void initargs(int argc, char **argv){    memset( par_names ,0 ,sizeof(par_names) );    par_names[0] = "par";    par_names[1] = "lheader";    par_count=2;     xargc = argc; xargv = argv;    if(tabled==TRUE){        free(argstr);        free(targv);        free(argtbl);    }    tabled =  FALSE;    return;}

.
分享到:




搜索更多相关主题的帖子: Linux 如何 
2013-06-17 00:37
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:4 
不论是linux还是windows,都可以带参数启动,这是加载程序和你自己写的程序之间的接口。linux下面很多shell命令都是可以带参数运行的,比如ls -l

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-06-17 06:11
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
mian是什么浮云

DO IT YOURSELF !
2013-06-17 08:22
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:4 
以下是引用wp231957在2013-6-17 08:22:40的发言:

mian是什么浮云

面,凉面,打卤面,方便面。。。。。。。。
2013-06-17 09:17
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:4 
很多初学者都打 mian

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-06-17 09:40
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:4 
http://


[fly]存在即是合理[/fly]
2013-06-17 14:13
快速回复:int mian( int argc, char ** argv) 命令行参数初始化?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016711 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved