int argc,char * argv []是什麼意思?

在許多C ++ IDE和編譯器中,當它爲您生成主要功能時,它看起來像這樣: ios

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

當我不使用IDE而是僅使用命令行編譯器來編寫C ++時,鍵入: 數組

int main()

沒有任何參數。 這是什麼意思,對個人程序相當重要嗎? ide


#1樓

argvargc是在C和C ++中將命令行參數傳遞給main()spa

argc將是argv指向的字符串數。 (實際上)這將是1加上參數的數量,由於幾乎全部的實現都將程序名放在數組的前面。 命令行

按照慣例,這些變量分別命名爲argc參數計數 )和argv參數向量 ),可是能夠給它們指定任何有效的標識符: int main(int num_args, char** arg_strings)一樣有效。 指針

若是您不打算處理命令行參數,則也能夠徹底省略它們,產生int main()code

嘗試如下程序: 字符串

#include <iostream>

int main(int argc, char** argv) {
    std::cout << "Have " << argc << " arguments:" << std::endl;
    for (int i = 0; i < argc; ++i) {
        std::cout << argv[i] << std::endl;
    }
}

./test a1 b2 c3運行它會輸出 get

Have 4 arguments:
./test
a1
b2
c3

#2樓

argc是從命令行傳遞到程序中的參數數量,而argv是參數數組。 編譯器

您能夠遍歷參數,知道它們的數量,例如:

for(int i = 0; i < argc; i++)
{
    // argv[i] is the argument at index i
}

#3樓

main的參數表示啓動程序時提供給程序的命令行參數。 argc參數表示命令行參數的數量,而char *argv[]是字符串(字符指針)的數組,表示在命令行上提供的各個參數。


#4樓

第一個參數是提供的參數數量,第二個參數是表示這些參數的字符串列表。


#5樓

二者的

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

是C或C ++程序入口點的合法定義。 Stroustrup:C ++樣式和技術常見問題解答詳細介紹了一些可能對您的主要功能適用或合法的變體。

相關文章
相關標籤/搜索