• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 100,  comments - 15,  trackbacks - 0
             int     main(   int   argc   ,   char   *argv[]   ,   char   *envp[]   )  
              main()函數(shù)一般用int或者void形的。我比較喜歡用int型定義main。因?yàn)樵诮Y(jié)束的時(shí)候可以返回給操作系統(tǒng)一個(gè)值以表示執(zhí)行情況。  
               
              int   argc  
              這個(gè)東東用來(lái)表示你在命令行下輸入命令的時(shí)候,一共有多少個(gè)參數(shù)。比方說(shuō)你的程序編譯后,可執(zhí)行文件是test.exe  
              D:\tc2>test  
              這個(gè)時(shí)候,argc的值是1  
              但是  
              D:\tc2>test.exe   myarg1   myarg2  
              的話,argc的值是3。也就是   命令名   加上兩個(gè)參數(shù),一共三個(gè)參數(shù)  
               
              char   *argv[]  
              這個(gè)東東用來(lái)取得你所輸入的參數(shù)  
              D:\tc2>test  
              這個(gè)時(shí)候,argc的值是1,argv[0]的值是   "test"  
              D:\tc2>test   myarg1   myarg2  
              這個(gè)時(shí)候,argc的值是3,argc[0]的值是"test",argc[1]的值是"myarg1",argc[2]的值是"myarg2"。  
              這個(gè)東東一般用來(lái)為程序提供非常重要的信息,如:數(shù)據(jù)文件名,等等。  
              如:copy   a.c   b.txt  
              這個(gè)時(shí)候,a.c和b.txt就是所謂的“非常重要的信息”。不指定這兩個(gè)文件,你沒(méi)法進(jìn)行拷貝。  
              當(dāng)你的程序用到argc和argv這兩個(gè)參數(shù)的時(shí)候,可以簡(jiǎn)單地通過(guò)判斷argc的值,來(lái)看看程序的參數(shù)是否符合要求  
               
              char   *envp[]  
              這個(gè)東東相對(duì)來(lái)說(shuō)用得比較少。它是用來(lái)取得系統(tǒng)的環(huán)境變量的。  
              如:在DOS下,有一個(gè)PATH變量。當(dāng)你在DOS提示符下輸入一個(gè)命令(當(dāng)然,這個(gè)命令不是dir一類(lèi)的內(nèi)部命令)的時(shí)候,DOS會(huì)首先在當(dāng)前目錄下找這個(gè)命令的執(zhí)行文件。如果找不到,則到PATH定義的路徑下去找,找到則執(zhí)行,找不到返回Bad   command   or   file   name  
              在DOS命令提示符下鍵入set可查看系統(tǒng)的環(huán)境變量  
              同樣,在UNIX或者LINUX下,也有系統(tǒng)環(huán)境變量,而且用得比DOS要多。如常用的$PATH,$USER,$HOME等等。  
              envp保存所有的環(huán)境變量。其格式為(UNIX下)  
              PATH=/usr/bin;/local/bin;  
              HOME=/home/shuui  
              即:  
              環(huán)境變量名=值  
              DOS下大概也一樣。  
              環(huán)境變量一般用來(lái)為程序提供附加信息。如,你做了一個(gè)顯示文本的內(nèi)容的程序。你想控制其一行中顯示的字符的個(gè)數(shù)。你可以自己定義一個(gè)環(huán)境變量(UNIX下)  
              %setenv   NUMBER   =   10  
              %echo   $NUMBER  
              10  
              然后你可以在程序中讀入這個(gè)環(huán)境變量。然后根據(jù)其值決定一行輸出多少個(gè)字符。這樣,如果你不修改環(huán)境變量的話,你每次執(zhí)行這個(gè)程序,一行中顯示的字符數(shù)都是不一樣的  
              下面是一個(gè)例子程序  
               
              /* argtest.c */  
              #include<stdio.h>  
              int main(   int   argc   ,   char   *argv[]   ,   char   *envp[]   )  
              {  
              int   i;  
               
              printf(   "You   have   inputed   total   %d   argments\n"   ,   argc   );  
              for(   i=0   ;   i<argc   ;   i++)  
              {  
              printf(   "arg%d   :   %s\n"   ,   i   ,   argv[i]   );  
              }  
               
              printf(   "The   follow   is   envp   :\n"   );  
              for(   i=0   ;   *envp[i]!='\0'   ;   i++   )  
              {  
              printf(   "%s\n"   ,   envp[i]   );  
              }  
              return   0;  
              }  
               
               
              D:\>argtest   this   is   a   test   programe   of   main()'s   argments  
              You   have   inputed   total   9   argments  
              arg0   :   D:\TC\NONAME.EXE  
              arg1   :   this  
              arg2   :   is  
              arg3   :   a  
              arg4   :   test  
              arg5   :   programe  
              arg6   :   of  
              arg7   :   main()'s  
              arg8   :   argments  
              The   follow   is   envp   :  
              TMP=C:\WINDOWS\TEMP  
              TEMP=C:\WINDOWS\TEMP  
              PROMPT=$p$g  
              winbootdir=C:\WINDOWS  
              PATH=C:\WINDOWS;C:\WINDOWS\COMMAND  
              COMSPEC=C:\WINDOWS\COMMAND.COM  
              SBPCI=C:\SBPCI  
              windir=C:\WINDOWS  
              BLASTER=A220   I7   D1   H7   P330   T6  
              CMDLINE=noname   this   is   a   test   programe   of   main()'s   argments    
            posted on 2009-10-03 21:44 wyiu 閱讀(211) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            97久久香蕉国产线看观看| 久久久久97国产精华液好用吗| 精品伊人久久久| 久久99久久99精品免视看动漫| 精品国产乱码久久久久久1区2区| 久久99精品国产99久久6| 久久夜色精品国产亚洲| 久久免费线看线看| 国产成人久久精品一区二区三区| 久久精品中文字幕久久| 亚洲日韩欧美一区久久久久我| 亚洲AV无码久久| 亚洲乱码日产精品a级毛片久久 | 久久SE精品一区二区| 久久久久久久综合日本亚洲| 亚洲AV无码成人网站久久精品大| 99久久精品国产一区二区三区| 无码人妻精品一区二区三区久久 | 亚洲精品乱码久久久久久蜜桃| 国产三级久久久精品麻豆三级| 中文字幕亚洲综合久久菠萝蜜| 韩国三级中文字幕hd久久精品 | 久久久久国产一区二区三区| 国产精品久久久久天天影视| 久久精品国产色蜜蜜麻豆| 日本久久中文字幕| 狠狠色综合网站久久久久久久| 日本久久久久亚洲中字幕| 综合网日日天干夜夜久久| 精品久久久一二三区| 亚洲午夜精品久久久久久浪潮| 久久精品国产精品亚洲人人| 国产高清美女一级a毛片久久w | 久久婷婷五月综合成人D啪| 久久伊人亚洲AV无码网站| 久久久久国产精品麻豆AR影院| 国内精品伊人久久久久影院对白| 国产精品99久久久久久董美香 | 少妇高潮惨叫久久久久久| 久久综合狠狠综合久久综合88 | 久久99这里只有精品国产|