200706210953MAIN(int argc, char *argv[ ]) 之用法

(1.)
. 在DOS 系統底下, 執行一個程式時, 我們常會加一些參數, 如
–C:dir d:
–C:copy a: c:
. 利用main 的函數變數argc與argv[], 我們可以有效地這些參數
– intargc
‧ Number of arguments passed
– char*argv[]
‧Array of strings
‧ Has names of arguments in order
– argv[ 0 ]is first argument
– Example: $ copy input output
‧ argc: 3
‧ argv[0]: "copy"
‧ argv[1]: "input"
‧ argv[2 ]: "output"

 

 

(2.)

【前言】:

C 語言提供一個可以在命令列中將參數引入的功能。也就是說,我們可以在MS-DOS 模式下,在執行
檔名稱的後面,可以填入需要的參數。

舉例:假設在MS-DOS 模式下,鍵入如下指令:
type abc.txt

【說明】:

type 指令的作用是「顯示檔案的內容」。

 type abc.txt 即顯示abc.txt 這個文字檔的內容。

【目的】:

為了使主程式能夠接收使用者輸入的參數,在主函數main( ) 中,必須有適合的格
式。

int main(argc,argv)
int argc;
char *argv[];
{
    return 0;
}

或是
int main(int argc, char *argv)
{
    return 0;
}

命令列參數的格式命令列參數的格式
【說明】:

1、argc 與 argv 為C 語言的關鍵字,是專門用在命令列的參數名。

2、argc 是argument count(參數總和)的縮寫,代表包括指令本身的參數個數。
系統會自動計算所輸入的參數個數。

3、argv 則是argument value 的縮寫。代表參數值。
也就是使用者在命令列中輸入的字串,每個字串以空白相隔。
同時,系統會自動將程式本身的名稱指定給argv[0] ,再將程式名稱後面所接續的參
數依序指定給argv[1] 、argv[2]…. 。

 

(3.)

我們常常下類似的命令:

        gcc -o hello hello.c

gcc 是我們所想要執行的程式的名字,而 -o、hello 和 hello.c 則是
我們傳給 gcc 這個程式的參數。事實上由外部傳進程式的參數就相當於
main 函數的參數,它的格式如下:

        int main (int argc, char *argv[])

argc 的意思是 argument count,亦即參數的個數有幾個。而 argv 的
意思則是 argument vector,意即存放參數的向量 (想想看,指標陣列
是不是很像向量的集合?)。拿上面的例子來講:

        gcc -o hello hello.c
        ^^^ ^^ ^^^^^ ^^^^^^^
        0   1  2     3

一共有 4 個參數 (記住,程式的名字也算一個),所以 argc = 4,而
*argv[] 的內容如下:

 

 

揭開了它的真面目之後,相信你也覺得很容易吧!以下是一個範例程式:

/* echo.c */
#include

void main (int argc, char *argv[])
{
    while (--argc)              /* an abbreviation of while(--argc != 0) */
    {
        printf ("%sn", *++argv);
    }
}

執行結果:

[analog]/pichome/users/faculty/athena/tmp> a.out 1 2 3
1
2
3

 


 

沒有上一則|日誌首頁|沒有下一則
回應





Powered by Xuite
    沒有新回應!
關鍵字