1. 程式人生 > >argc與argv

argc與argv

參考部落格:https://blog.csdn.net/dcrmg/article/details/51987413

arg:arguments
argc:argument counter
argv:argument vector

argc 是 argument count的縮寫,表示傳入main函式的引數個數;

argv 是 argument vector的縮寫,表示傳入main函式的引數序列或指標,並且第一個引數argv[0]一定是程式的名稱,並且包含了程式所在的完整路徑,所以確切的說需要我們輸入的main函式的引數個數應該是argc-1個;

一、傳入引數方法

1、方法1
C/C++語言中的main函式,經常帶有引數argc,argv,如下:

int main(int argc, char **argv)
int main(int argc, char *argv[])
這兩個引數的作用是什麼呢?argc 是指命令列輸入引數的個數,argv儲存了所有的命令列引數。假如你的程式是hello.exe,如果在命令列執行該程式,(首先應該在命令列下用 cd 命令進入到 hello.exe 檔案所在目錄) 執行命令為:

hello.exe Shiqi Yu

那麼,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。

下面的程式演示argc和argv的使用:

#include <stdio.h>

int main(int argc, char ** argv)
{
    int i;
    for (i=0; i < argc; i++)
        printf("Argument %d is %s./n", i, argv[i]);

    return 0;
}

假如上述程式碼編譯為hello.exe,那麼執行

hello.exe a b c d e

將得到

Argument 0 is hello.exe.
Argument 1 is a.
Argument 2 is b.
Argument 3 is c.
Argument 4 is d.
Argument 5 is e.

執行

hello.exe lena.jpg

將得到

Argument 0 is hello.exe.
Argument 1 is lena.jpg.

2、方法2
專案——屬性——配置屬性——除錯——命令引數,設定命令引數就可以傳入。