<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 閱讀(3145) 評論(0)  編輯  收藏 所屬分類: C
    主站蜘蛛池模板: 免费看男女下面日出水视频| 免费国产黄网站在线观看 | 色婷婷亚洲一区二区三区| 亚洲乱理伦片在线观看中字| 亚洲av日韩av永久无码电影| 两个人日本WWW免费版| 精品福利一区二区三区免费视频| 丁香花在线观看免费观看| 亚洲av高清在线观看一区二区| 2022中文字字幕久亚洲| 亚洲导航深夜福利| 国产99久久久久久免费看| 亚洲视频免费在线观看| 国产片免费福利片永久| 日韩精品一区二区亚洲AV观看| 亚洲精品日韩一区二区小说| 91av视频免费在线观看| 中文字幕不卡亚洲| 亚洲熟女www一区二区三区| 国产精品免费一区二区三区四区| 永久免费AV无码网站在线观看| 亚洲AV午夜福利精品一区二区| 亚洲av成人片在线观看| 国产小视频在线免费| 一级毛片a免费播放王色| 日本免费观看网站| 亚洲一区二区三区高清视频| 成人片黄网站色大片免费观看cn | 24小时日本在线www免费的| 亚洲色少妇熟女11p| 免费一级成人毛片| 亚洲国产精品成人综合色在线| 国产三级免费观看| 免费国产叼嘿视频大全网站| 亚洲毛片不卡av在线播放一区| 亚洲AV永久无码天堂影院| MM131亚洲国产美女久久| 最近中文字幕完整免费视频ww| 亚洲熟妇无码一区二区三区| 亚洲日本va午夜中文字幕久久| 久久久久久影院久久久久免费精品国产小说|