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

📄 xplore 查看主题 - 命令行参数的分析.htm

📁 Linux命令行参数的分析.rar
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                  abc:d:表示这个参数选项可以为a,b,c,d其中c,d出现时候必须要有参数值.如果我们输入了一个我们没有提供的参数选项.系统将会说 
                  不认识的 选项. 
                  getopt返回我们指定的参数选项.同时将参数值保存在optarg中,如果已经分析完成所有的参数函数返回-1.这个时候optind指出非可选参数的开始位置. 
                  <BR><BR>#include &lt;stdio.h&gt; <BR>#include &lt;unistd.h&gt; 
                  <BR><BR>int main(int argc,char **argv) <BR>{ <BR>int 
                  is_a,is_b,is_c,is_d,i; <BR>char 
                  *a_value,*b_value,*c_value,temp; 
                  <BR><BR>is_a=is_b=is_c=is_d=0; 
                  <BR>a_value=b_value=c_value=NULL; <BR><BR>if(argc==1) <BR>{ 
                  <BR>fprintf(stderr,"Usage:%s [-a value] [-b value] [-c value] 
                  [-d] arglist ...\n", <BR>argv[0]); <BR>exit(1); <BR>} 
                  <BR><BR>while((temp=getopt(argc,argv,"a:b:c:d"))!=-1) <BR>{ 
                  <BR>switch (temp) <BR>{ <BR>case 'a': <BR>is_a=1; 
                  <BR>a_value=optarg; <BR>break; <BR>case 'b': <BR>is_b=1; 
                  <BR>b_value=optarg; <BR>break; <BR>case 'c': <BR>is_c=1; 
                  <BR>c_value=optarg; <BR>break; <BR>case 'd': <BR>is_d=1; 
                  <BR>break; <BR>} <BR>} <BR><BR>printf("Option has a:%s with 
                  value:%s\n",is_a?"YES":"NO",a_value); <BR>printf("Option has 
                  b:%s with value:%s\n",is_b?"YES":"NO",b_value); 
                  <BR>printf("Option has c:%s with 
                  value:%s\n",is_c?"YES":"NO",c_value); <BR>printf("OPtion has 
                  d:%s\n",is_d?"YES":"NO"); <BR>i=optind; <BR>while(argv[i]) 
                  printf(" with arg:%s\n",argv[i++]); <BR>exit(0); <BR>} 
                  <BR><BR>getopt_long比getopt复杂一点,不过用途要比getopt广泛.struct option 
                  指出我们可以接受的附加参数选项. <BR>name:指出长选项的名称(如我们的option1) 
                  <BR>has_flag:为0时表示没有参数值,当为1的时候表明这个参数选项要接受一个参数值.为2时表示参数值可以有也可以没有. 
                  <BR>指出函数的返回值.如果为NULL,那么返回val,否则返回0.并将longindex赋值为选项所在数组(longopts)的位置. 
                  <BR><BR>/* 这个实例是从 GNU Libc 手册上看到的 */ <BR><BR>#include 
                  &lt;stdio.h&gt; <BR>#include &lt;stdlib.h&gt; <BR>#include 
                  &lt;getopt.h&gt; <BR><BR><BR>int main (int argc, char **argv) 
                  <BR>{ <BR>int c; <BR><BR>while (1) <BR>{ <BR>struct option 
                  long_options[] = <BR>{ <BR>{"add", 1, 0, 0}, <BR>{"append", 0, 
                  0, 0}, <BR>{"delete", 1, 0, 0}, <BR>/* 返回字符c,等同于 -c 选项 */ 
                  <BR>{"create", 0, 0, 'c'}, <BR>{"file", 1, 0, 0}, <BR>/* 数组结束 
                  */ <BR>{0, 0, 0, 0} <BR>}; <BR>/* getopt_long stores the 
                  option index here. */ <BR>int option_index = 0; <BR><BR>c = 
                  getopt_long (argc, argv, "abc:d:", <BR>long_options, 
                  &amp;option_index); <BR><BR>/* Detect the end of the options. 
                  */ <BR>if (c == -1) <BR>break; <BR><BR>switch (c) <BR>{ 
                  <BR>case 0: <BR>printf ("option %s", 
                  long_options[option_index].name); <BR>if (optarg) <BR>printf 
                  (" with arg %s\n", optarg); <BR>break; <BR><BR>case 'a': 
                  <BR>puts ("option -a\n"); <BR>break; <BR><BR>case 'b': 
                  <BR>puts ("option -b\n"); <BR>break; <BR><BR>/* 可能是-c 
                  --creat参数指出来的 */ <BR>case 'c': <BR>printf ("option -c with 
                  value `%s'\n", optarg); <BR>break; <BR><BR>case 'd': 
                  <BR>printf ("option -d with value `%s'\n", optarg); <BR>break; 
                  <BR>} <BR>} <BR><BR>exit (0); <BR>} 
                  <BR><BR>当我们输入了错误的选项后,系统会给出错误的提示,如果我们想屏蔽这个信息,我们可以设置opterr为0,对于错误的选项,函数分析时候返回一个'?'字符.我们可以自己对这个字符进行处理.</SPAN><SPAN 
                  class=postbody></SPAN><SPAN 
              class=gensmall></SPAN></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD class=row1 vAlign=center align=left width=150><SPAN class=nav><A 
            class=nav 
            href="http://bbs.xplore.cn/viewtopic.php?t=714#top">返回顶部</A></SPAN></TD>
          <TD class=row1 vAlign=bottom noWrap width="100%" height=28>
            <TABLE height=18 cellSpacing=0 cellPadding=0 width=18 border=0>
              <TBODY>
              <TR>
                <TD vAlign=center noWrap><A 
                  href="http://bbs.xplore.cn/profile.php?mode=viewprofile&amp;u=48"><IMG 
                  title=浏览用户个人资料 alt=浏览用户个人资料 
                  src="Xplore  查看主题 - 命令行参数的分析.files/icon_profile.gif" 
                  border=0></A> <A 
                  href="http://bbs.xplore.cn/privmsg.php?mode=post&amp;u=48"><IMG 
                  title=发送私人信息 alt=发送私人信息 
                  src="Xplore  查看主题 - 命令行参数的分析.files/icon_pm.gif" border=0></A>
                  <SCRIPT language=JavaScript type=text/javascript><!--	if ( navigator.userAgent.toLowerCase().indexOf('mozilla') != -1 && navigator.userAgent.indexOf('5.') == -1 && navigator.userAgent.indexOf('6.') == -1 )		document.write(' ');	else		document.write('</td><td>&nbsp;</td><td valign="top" nowrap="nowrap"><div style="position:relative"><div style="position:absolute"></div><div style="position:absolute;left:3px;top:-1px"></div></div>');				//--></SCRIPT>
                   <NOSCRIPT></NOSCRIPT></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD class=spaceRow colSpan=2 height=1><IMG height=1 alt="" 
            src="Xplore  查看主题 - 命令行参数的分析.files/spacer.gif" width=1></TD></TR>
        <TR>
          <TD class=row2 vAlign=top align=left width=150><SPAN class=name><A 
            name=2105></A><B>daddy</B></SPAN><BR><SPAN 
            class=postdetails>高级会员<BR><IMG alt="" 
            src="Xplore  查看主题 - 命令行参数的分析.files/Img144404245.jpg" 
            border=0><BR><BR>注册日期: 2004年02月21日<BR>发贴数量: 52<BR></SPAN><BR></TD>
          <TD class=row2 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=2105#2105"><IMG 
                  title=发表贴子 height=9 alt=发表贴子 
                  src="Xplore  查看主题 - 命令行参数的分析.files/icon_minipost.gif" width=12 
                  border=0></A><SPAN class=postdetails>发表时间: 2004年05月22日 
                  23:47<SPAN class=gen>&nbsp;</SPAN>&nbsp; &nbsp;贴子标题: 
</SPAN></TD>
                <TD vAlign=top noWrap><A 
                  href="http://bbs.xplore.cn/posting.php?mode=quote&amp;p=2105"><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>顶。。。</SPAN><SPAN 
                  class=postbody><BR>_________________<BR>/*这个世界分为两中人:懂二进制和不懂二进制的。*/</SPAN><SPAN 
                  class=gensmall></SPAN></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD class=row2 vAlign=center align=left width=150><SPAN class=nav><A 
            class=nav 
            href="http://bbs.xplore.cn/viewtopic.php?t=714#top">返回顶部</A></SPAN></TD>
          <TD class=row2 vAlign=bottom noWrap width="100%" height=28>
            <TABLE height=18 cellSpacing=0 cellPadding=0 width=18 border=0>
              <TBODY>
              <TR>
                <TD vAlign=center noWrap><A 
                  href="http://bbs.xplore.cn/profile.php?mode=viewprofile&amp;u=91"><IMG 
                  title=浏览用户个人资料 alt=浏览用户个人资料 
                  src="Xplore  查看主题 - 命令行参数的分析.files/icon_profile.gif" 
                  border=0></A> <A 
                  href="http://bbs.xplore.cn/privmsg.php?mode=post&amp;u=91"><IMG 
                  title=发送私人信息 alt=发送私人信息 
                  src="Xplore  查看主题 - 命令行参数的分析.files/icon_pm.gif" border=0></A>
                  <SCRIPT language=JavaScript type=text/javascript><!--	if ( navigator.userAgent.toLowerCase().indexOf('mozilla') != -1 && navigator.userAgent.indexOf('5.') == -1 && navigator.userAgent.indexOf('6.') == -1 )		document.write(' ');	else		document.write('</td><td>&nbsp;</td><td valign="top" nowrap="nowrap"><div style="position:relative"><div style="position:absolute"></div><div style="position:absolute;left:3px;top:-1px"></div></div>');				//--></SCRIPT>
                   <NOSCRIPT></NOSCRIPT></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD class=spaceRow colSpan=2 height=1><IMG height=1 alt="" 
            src="Xplore  查看主题 - 命令行参数的分析.files/spacer.gif" width=1></TD></TR>
        <TR align=middle>
          <TD class=catBottom colSpan=2 height=28>
            <TABLE cellSpacing=0 cellPadding=0 border=0>
              <TBODY>
              <TR>
                <FORM action=viewtopic.php?t=714&amp;start=0 method=post>
                <TD align=middle><SPAN class=gensmall>显示贴子范围: <SELECT 
                  name=postdays><OPTION value=0 selected>所有贴子</OPTION><OPTION 
                    value=1>1 天以来</OPTION><OPTION value=7>7 天以来</OPTION><OPTION 
                    value=14>2 周以来</OPTION><OPTION value=30>1 
                    个月来</OPTION><OPTION value=90>3 个月来</OPTION><OPTION 
                    value=180>6 个月来</OPTION><OPTION value=364>1 
                  年以来</OPTION></SELECT>&nbsp;<SELECT name=postorder><OPTION 
                    value=asc selected>旧贴在前面</OPTION><OPTION 
                    value=desc>新贴在前面</OPTION></SELECT>&nbsp;<INPUT class=liteoption type=submit value=确定 name=submit></SPAN></TD></FORM></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=2 cellPadding=2 width="100%" align=center border=0>
        <TBODY>
        <TR>
          <TD vAlign=center noWrap align=left><SPAN class=nav><A 
            href="http://bbs.xplore.cn/posting.php?mode=newtopic&amp;f=18"><IMG 
            alt=发表新贴 src="Xplore  查看主题 - 命令行参数的分析.files/post.gif" align=middle 
            border=0></A>&nbsp;&nbsp;&nbsp;<A 
            href="http://bbs.xplore.cn/posting.php?mode=reply&amp;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>&nbsp;&nbsp;&nbsp;<A class=nav 
            href="http://bbs.xplore.cn/index.php">Xplore 论坛首页</A> -&gt; <A 
            class=nav href="http://bbs.xplore.cn/viewforum.php?f=18">UNIX/Linux 
            编程</A></SPAN></TD>
          <TD vAlign=top noWrap align=right><SPAN class=gensmall>所有时间: 
            北京时间</SPAN><BR><SPAN class=nav></SPAN></TD></TR>
        <TR>
          <TD align=left colSpan=3><SPAN class=nav>页数: <B>1</B> (共 <B>1</B> 
            页)</SPAN></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=2 width="100%" align=center border=0>
        <TBODY>
        <TR>
          <TD vAlign=top noWrap align=left width="40%"><SPAN class=gensmall><A 
            href="http://bbs.xplore.cn/viewtopic.php?t=714&amp;watch=topic&amp;start=0&amp;sid=38971f6fa859c4e0efc2bbfe80e1d56f">跟踪主题</A></SPAN><BR>&nbsp;<BR></TD>
          <TD vAlign=top noWrap align=right>
            <FORM name=jumpbox 
            onsubmit="if(document.jumpbox.f.value == -1){return false;}" 
            action=viewforum.php method=get>
            <TABLE cellSpacing=0 cellPadding=0 border=0>
              <TBODY>
              <TR>
                <TD noWrap><SPAN class=gensmall>论坛跳转:&nbsp;<SELECT 
                  onchange="if(this.options[this.selectedIndex].value != -1){ forms['jumpbox'].submit() }" 
                  name=f><OPTION value=-1>选择论坛</OPTION><OPTION 
                    value=-1>&nbsp;</OPTION><OPTION 
                    value=-1>站内事务</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=9>公告栏</OPTION><OPTION value=-1>&nbsp;</OPTION><OPTION 
                    value=-1>我爱编程</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=14>VB,VC,.net专栏</OPTION><OPTION 
                    value=15>C/C++专栏</OPTION><OPTION 
                    value=2>JAVA技术</OPTION><OPTION 
                    value=16>脚本语言及WEB开发</OPTION><OPTION 
                    value=17>XML编程</OPTION><OPTION value=18 selected>UNIX/Linux 
                    编程</OPTION><OPTION value=29>编程技术</OPTION><OPTION 
                    value=31>每周一题</OPTION><OPTION 
                    value=-1>&nbsp;</OPTION><OPTION 
                    value=-1>操作系统</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=1>Linux/UNIX技术</OPTION><OPTION 
                    value=3>Windows技术</OPTION><OPTION 
                    value=-1>&nbsp;</OPTION><OPTION 
                    value=-1>计算机应用</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=20>电脑技术</OPTION><OPTION value=8>系统安全</OPTION><OPTION 
                    value=30>数据库技术</OPTION><OPTION 
                    value=-1>&nbsp;</OPTION><OPTION value=-1>设计</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=27>图形图像设计</OPTION><OPTION 
                    value=-1>&nbsp;</OPTION><OPTION 
                    value=-1>休闲娱乐</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=4>心情涂鸦</OPTION><OPTION value=32>跳蚤市场</OPTION><OPTION 
                    value=-1>&nbsp;</OPTION><OPTION 
                    value=-1>课程专栏</OPTION><OPTION 
                    value=-1>----------------</OPTION><OPTION 
                    value=13>汇编语言程序设计</OPTION></SELECT>&nbsp;<INPUT class=liteoption type=submit value=确定></SPAN></TD></TR></TBODY></TABLE></FORM><SPAN 
            class=gensmall>您 <B>可以</B> 发表新贴<BR>您 <B>可以</B> 回复主题<BR>您 <B>可以</B> 
            编辑发贴<BR>您 <B>可以</B> 删除发贴<BR>您 <B>可以</B> 投票贴子<BR>You <B>can</B> 
            attach files in this forum<BR>You <B>can</B> download files in this 
            forum<BR></SPAN></TD></TR></TBODY></TABLE>
      <DIV align=center><SPAN class=copyright><BR><BR><!--	We request you retain the full copyright notice below including the link to www.phpbb.com.	This not only gives respect to the large amount of time given freely by the developers	but also helps build interest, traffic and use of phpBB 2.0. If you cannot (for good	reason) retain the full copyright we request you at least leave in place the	Powered by phpBB 2.0.8 line, with phpBB linked to www.phpbb.com. If you refuse	to include even this then support on our forums may be affected.	The phpBB Group : 2002// -->Powered 
      by <A class=copyright href="http://www.phpbb.com/" target=_phpbb>phpBB</A> 
      2.0.8 &copy; 2001, 2002 phpBB 
Group<BR></SPAN></DIV></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

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