<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Calvin's Tech Space

    成于堅忍,毀于浮躁

       :: 首頁 :: 聯系 :: 聚合  :: 管理
    int   main( int   argc ,  char  *argv[] ,   char  *envp[] )  
        main()函數一般用int或者void形的。我比較喜歡用int型定義main。因為在結束的時候可以返回給操作系統一個值以表示執行情況。  

        int   argc  
        這個東東用來表示你在命令行下輸入命令的時候,一共有多少個參數。比方說你的程序編譯后,可執行文件是test.exe  
        D:\tc2>test  
        這個時候,argc的值是1  
        但是  
        D:\tc2>test.exe   myarg1   myarg2  的話,argc的值是3。也就是命令名加上兩個參數,一共三個參數  

        char   *argv[]  
        這個東東用來取得你所輸入的參數  
        D:\tc2>test  
        這個時候,argc的值是1,argv[0]的值是   "test"  
        D:\tc2>test   myarg1   myarg2  
        這個時候,argc的值是3,argc[0]的值是"test",argc[1]的值是"myarg1",argc[2]的值是"myarg2"。  
        這個東東一般用來為程序提供非常重要的信息,如:數據文件名,等等。  
        如:copy   a.c   b.txt  
        這個時候,a.c和b.txt就是所謂的“非常重要的信息”。不指定這兩個文件,你沒法進行拷貝。  
        當你的程序用到argc和argv這兩個參數的時候,可以簡單地通過判斷argc的值,來看看程序的參數是否符合要求  

        char   *envp[]  
        這個東東相對來說用得比較少。它是用來取得系統的環境變量的。  
        如:在DOS下,有一個PATH變量。當你在DOS提示符下輸入一個命令(當然,這個命令不是dir一類的內部命令)的時候,DOS會首先在當前目錄下找這個命令的執行文件。如果找不到,則到PATH定義的路徑下去找,找到則執行,找不到返回Bad   command   or   file   name  
        在DOS命令提示符下鍵入set可查看系統的環境變量  
        同樣,在UNIX或者LINUX下,也有系統環境變量,而且用得比DOS要多。如常用的$PATH,$USER,$HOME等等。  
        envp保存所有的環境變量。其格式為(UNIX下)  
        PATH=/usr/bin;/local/bin;  
        HOME=/home/shuui  
        即:  
        環境變量名=值  
        DOS下大概也一樣。  
        環境變量一般用來為程序提供附加信息。如,你做了一個顯示文本的內容的程序。你想控制其一行中顯示的字符的個數。你可以自己定義一個環境變量(UNIX下)  
        %setenv   NUMBER   =   10  
        %echo   $NUMBER  
        10  
        然后你可以在程序中讀入這個環境變量。然后根據其值決定一行輸出多少個字符。這樣,如果你不修改環境變量的話,你每次執行這個程序,一行中顯示的字符數都是不一樣的  
        下面是一個例子程序  

        /* 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    
    -----------------------------------------------------------------------------------------
    命令行參數啊 argc   是參數的個數,argv[]是參數,argv[0]是文件名,argv[1]是第一個參數...  
    如你得exe文件名是:myprog.exe,那么  
    myprog   12   22   32  
    則argv[0]="myprog",argv[1]="12",argv[2]="22"...  


    posted on 2011-03-02 21:33 calvin 閱讀(3144) 評論(0)  編輯  收藏 所屬分類: C
    主站蜘蛛池模板: 猫咪www免费人成网站| 亚洲午夜福利717| 亚洲一卡2卡4卡5卡6卡在线99| 青青操视频在线免费观看| 美腿丝袜亚洲综合| 色吊丝性永久免费看码 | 亚洲精品免费在线观看| 亚洲精品乱码久久久久久蜜桃不卡| av午夜福利一片免费看久久| 国产AV无码专区亚洲AV手机麻豆| 精品一区二区三区免费视频 | 少妇亚洲免费精品| 日本一区二区在线免费观看 | 亚洲乱码中文字幕综合| 青青操在线免费观看| 亚洲最大成人网色| 成年女人毛片免费播放人| 久久亚洲中文无码咪咪爱| 久久精品亚洲乱码伦伦中文| 国产精品视频白浆免费视频| 亚洲无人区视频大全| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 本道天堂成在人线av无码免费| 国内精品99亚洲免费高清| 久操免费在线观看| 亚洲香蕉在线观看| 又大又硬又爽免费视频| 国产在线观看无码免费视频| 亚洲美女视频免费| 日本无吗免费一二区| a级毛片高清免费视频就| 亚洲字幕在线观看| 又黄又爽的视频免费看| 免费观看一区二区三区| 亚洲人成在线免费观看| 亚洲国产中文字幕在线观看| 日韩精品无码一区二区三区免费| 亚洲乱色伦图片区小说 | 伊人久久综在合线亚洲91 | 国产片免费在线观看| 成人影片一区免费观看|