📄 xplore 查看主题 - 命令行参数的分析.htm
字号:
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #006699
}
A.forumlink {
COLOR: #006699; TEXT-DECORATION: none
}
A.forumlink:hover {
COLOR: #dd6900; TEXT-DECORATION: underline
}
.nav {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000
}
A.nav {
COLOR: #006699; TEXT-DECORATION: none
}
A.nav:hover {
TEXT-DECORATION: underline
}
.topictitle {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000
}
H1 {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000
}
H2 {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000
}
A.topictitle:link {
COLOR: #006699; TEXT-DECORATION: none
}
A.topictitle:visited {
COLOR: #5493b4; TEXT-DECORATION: none
}
A.topictitle:hover {
COLOR: #dd6900; TEXT-DECORATION: underline
}
.name {
FONT-SIZE: 12px; COLOR: #000000
}
.postdetails {
FONT-SIZE: 12px; COLOR: #000000
}
.postbody {
FONT-SIZE: 12px; LINE-HEIGHT: 18px
}
A.postlink:link {
COLOR: #006699; TEXT-DECORATION: none
}
A.postlink:visited {
COLOR: #5493b4; TEXT-DECORATION: none
}
A.postlink:hover {
COLOR: #dd6900; TEXT-DECORATION: underline
}
.code {
BORDER-RIGHT: #d1d7dc 1px solid; BORDER-TOP: #d1d7dc 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #d1d7dc 1px solid; COLOR: #006600; BORDER-BOTTOM: #d1d7dc 1px solid; FONT-FAMILY: 宋体, Courier, 'Courier New', sans-serif; BACKGROUND-COLOR: #fafafa
}
.quote {
BORDER-RIGHT: #d1d7dc 1px solid; BORDER-TOP: #d1d7dc 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #d1d7dc 1px solid; COLOR: #444444; LINE-HEIGHT: 125%; BORDER-BOTTOM: #d1d7dc 1px solid; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fafafa
}
.copyright {
FONT-SIZE: 12px; COLOR: #444444; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: -1px
}
A.copyright {
COLOR: #444444; TEXT-DECORATION: none
}
A.copyright:hover {
COLOR: #000000; TEXT-DECORATION: underline
}
INPUT {
BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; FONT: 12px 宋体, Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000
}
TEXTAREA {
BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; FONT: 12px 宋体, Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000
}
SELECT {
BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; FONT: 12px 宋体, Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000
}
INPUT.post {
BACKGROUND-COLOR: #ffffff
}
TEXTAREA.post {
BACKGROUND-COLOR: #ffffff
}
SELECT {
BACKGROUND-COLOR: #ffffff
}
INPUT {
TEXT-INDENT: 2px
}
INPUT.button {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #efefef
}
INPUT.mainoption {
FONT-WEIGHT: bold; BACKGROUND-COLOR: #fafafa
}
INPUT.liteoption {
FONT-WEIGHT: normal; BACKGROUND-COLOR: #fafafa
}
.helpline {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #dee3e7; BORDER-BOTTOM-STYLE: none
}
</STYLE>
<SCRIPT language=Javascript type=text/javascript><!-- if ( 0 ) { window.open('privmsg.php?mode=newpm', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');; }//--></SCRIPT>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#5493b4 link=#006699 bgColor=#e5e5e5><A name=top></A>
<TABLE cellSpacing=0 cellPadding=10 width="100%" align=center border=0>
<TBODY>
<TR>
<TD class=bodyline>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><A href="http://bbs.xplore.cn/index.php"><IMG alt="Xplore 论坛首页"
src="Xplore 查看主题 - 命令行参数的分析.files/logo_phpBB.gif" vspace=1
border=0></A></TD>
<TD vAlign=center align=middle width="100%"><SPAN
class=maintitle>Xplore</SPAN><BR><SPAN class=gen>做你所需 ---- Do What
You Want!<BR> </SPAN>
<TABLE cellSpacing=0 cellPadding=2 border=0>
<TBODY>
<TR>
<TD vAlign=top noWrap align=middle><SPAN
class=mainmenu> <A class=mainmenu
href="http://bbs.xplore.cn/faq.php"><IMG height=13 alt=问题解答
hspace=3 src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_faq.gif"
width=12 border=0>问题解答</A></SPAN><SPAN class=mainmenu>
<A class=mainmenu
href="http://bbs.xplore.cn/search.php"><IMG height=13 alt=搜索论坛
hspace=3
src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_search.gif"
width=12 border=0>搜索论坛</A> <A class=mainmenu
href="http://bbs.xplore.cn/memberlist.php"><IMG height=13
alt=成员列表 hspace=3
src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_members.gif"
width=12 border=0>成员列表</A> <A class=mainmenu
href="http://bbs.xplore.cn/groupcp.php"><IMG height=13
alt=管理团队 hspace=3
src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_groups.gif"
width=12 border=0>管理团队</A> </SPAN></TD></TR>
<TR>
<TD vAlign=top noWrap align=middle height=25><SPAN
class=mainmenu> <A class=mainmenu
href="http://bbs.xplore.cn/profile.php?mode=editprofile"><IMG
height=13 alt=用户资料 hspace=3
src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_profile.gif"
width=12 border=0>用户资料</A> <A class=mainmenu
href="http://bbs.xplore.cn/privmsg.php?folder=inbox"><IMG
height=13 alt=没新信息 hspace=3
src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_message.gif"
width=12 border=0>没新信息</A> <A class=mainmenu
href="http://bbs.xplore.cn/login.php?logout=true&sid=38971f6fa859c4e0efc2bbfe80e1d56f"><IMG
height=13 alt="退出登陆 [ ZT ]" hspace=3
src="Xplore 查看主题 - 命令行参数的分析.files/icon_mini_login.gif"
width=12 border=0>退出登陆 [ ZT
]</A> </SPAN></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=2 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=left colSpan=2><A class=maintitle
href="http://bbs.xplore.cn/viewtopic.php?t=714&start=0&postdays=0&postorder=asc&highlight=">命令行参数的分析</A><BR><SPAN
class=gensmall><B></B><BR> </SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=2 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=bottom noWrap align=left><SPAN class=nav><A
href="http://bbs.xplore.cn/posting.php?mode=newtopic&f=18"><IMG
alt=发表新贴 src="Xplore 查看主题 - 命令行参数的分析.files/post.gif" align=middle
border=0></A> <A
href="http://bbs.xplore.cn/posting.php?mode=reply&t=714"><IMG
alt=回复主题 src="Xplore 查看主题 - 命令行参数的分析.files/reply.gif" align=middle
border=0></A></SPAN></TD>
<TD vAlign=center align=left width="100%"><SPAN
class=nav> <A class=nav
href="http://bbs.xplore.cn/index.php">Xplore 论坛首页</A> -> <A
class=nav href="http://bbs.xplore.cn/viewforum.php?f=18">UNIX/Linux
编程</A></SPAN></TD></TR></TBODY></TABLE>
<TABLE class=forumline cellSpacing=1 cellPadding=3 width="100%"
border=0><TBODY>
<TR align=right>
<TD class=catHead colSpan=2 height=28><SPAN class=nav><A class=nav
href="http://bbs.xplore.cn/viewtopic.php?t=714&view=previous">上一主题</A>
:: <A class=nav
href="http://bbs.xplore.cn/viewtopic.php?t=714&view=next">下一主题</A>
</SPAN></TD></TR>
<TR>
<TH class=thLeft noWrap width=150 height=26>主题作者</TH>
<TH class=thRight noWrap>贴子内容</TH></TR>
<TR>
<TD class=row1 vAlign=top align=left width=150><SPAN class=name><A
name=2099></A><B>xinhe007</B></SPAN><BR><SPAN
class=postdetails>圣骑士<BR><IMG alt=""
src="Xplore 查看主题 - 命令行参数的分析.files/6169407bf8a3de5d5.gif"
border=0><BR><BR>注册日期: 2004年01月10日<BR>发贴数量: 244<BR></SPAN><BR></TD>
<TD class=row1 vAlign=top width="100%" height=28>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="100%"><A
href="http://bbs.xplore.cn/viewtopic.php?p=2099#2099"><IMG
title=发表贴子 height=9 alt=发表贴子
src="Xplore 查看主题 - 命令行参数的分析.files/icon_minipost.gif" width=12
border=0></A><SPAN class=postdetails>发表时间: 2004年05月22日
22:18<SPAN class=gen> </SPAN> 贴子标题:
命令行参数的分析</SPAN></TD>
<TD vAlign=top noWrap><A
href="http://bbs.xplore.cn/posting.php?mode=quote&p=2099"><IMG
title=引用回复 alt=引用回复
src="Xplore 查看主题 - 命令行参数的分析.files/icon_quote.gif"
border=0></A> </TD></TR>
<TR>
<TD colSpan=2>
<HR>
</TD></TR>
<TR>
<TD colSpan=2><SPAN class=postbody>在实际程序之中我们经常要对命令行参数进行分析.
比如我们有一个程序a可以接受许多参数.一个可能的情况是 <BR>a -d print --option1 hello
--option2 world
<BR>那么我们如何对这个命令的参数进行分析了?.经常用函数是getopt和getopt_long.
<BR>#include <unistd.h> <BR>#include <getopt.h>
<BR><BR>int getopt(int argc,char const **argv, const char
*optstring); <BR>int getopt_long(int argc,char const **argc,
<BR>const char *optstring,const struct option *longopts,
<BR>int *longindex); <BR><BR>extern char *optarg; <BR>extern
int optind,opterr,optopt; <BR><BR>struct option { <BR>char
*name; <BR>int has_flag; <BR>int *flag; <BR>int value; <BR>};
<BR><BR>getopt_long是getopt的扩展.getopt接受的命令行参数只可以是以(-)开头,而getopt_long还可以接受(--)
开头的参数.一般以(-)开头的参数的标志只有一个字母,而以(--)开头的参数可以是一个字符串.如上面的
-d,--option1选项.
<BR>argc,和argv参数是main函数的参数.optstring指出了我们可以接受的参数.其一般的形式为:参数1[:]参数2
[:].... 其中参数是我们可以接受的参数,如果后面的冒号没有省略,那么表示这个参数出现时后面必需要带参数值.
比如一个optstring为
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -