1樓:匿名使用者
1、argv是argc個引數,其中第0個引數是程式的全名,以後的引數 命令列後面跟的使用者輸入的引數,比如:
int main(int argc, char* argv)
2、 執行時敲入
f:\mydocu~1\tempcode\d1\debug\d1.exe aaaa bbb ccc ddd
輸出如下:
f:\mydocu~1\tempcode\d1\debug\d1.exe
aaaa
bbbccc
ddd3、char *argv是一個字元陣列,其大小是int argc,主要用於命令列引數 argv 引數,陣列裡每個元素代表一個引數;比如你輸入 :
test
a.c b.c t.c
則argc = 4
argv[0] = "test"
argv[1] = "a.c"
argv[2] = "b.c"
argv[3] = "t.c"
4、argc記錄了使用者在執行程式的命令列中輸入的引數的個數。
arg指向的陣列中至少有一個字元指標,即arg[0].他通常指向程式中的可執行檔案的檔名。在有些版本的編譯器中還包括程式檔案所在的路徑。
5、在呼叫一個可執行程式時,某些情況下需要向程式傳遞引數。如我們可以在控制檯中鍵入notepad.exe,
回車後將執行記事本程式。如果我們希望在開啟notepad時同時開啟一個文字檔案,可以在notepad.exe
後面跟上檔案的路徑和名字,如notepad.exe example.txt(檔案在當前路徑)。
擴充套件資料
main函式的引數列表儲存了輸入引數的資訊,第一個引數argc記錄了輸入引數的個數, 第二個引數是字串陣列的,字串陣列的每個單元是char*型別的,指向一個c風格字串。
以notepad.exe example.txt為例 argc是2,就是說argv陣列中有兩個有效單元
第一單元指向的字串是"notepad.exe" ; 第二單元指向的字串是"example.txt"
argv陣列中的第一個單元指向的字串總是可執行程式的名字,以後的單元指向的字串依次是程式呼叫時的引數。
這個賦值過程是編譯器完成的,我們只需要讀出資料就可以了。
參考資料
2樓:
唉要喂!!
1,首先矯正一下:int main(int argc, char **argv)是正確的方式。而int main(int argc, char *argv)你從**看來的??
那是不正確的,或者是書上筆誤,不要被它愚弄了。
2,你首先要弄明白一個問題, "hello world" 這個字元 常量 的返回值是什麼!!
一個字串常量的返回值是char*, 反之你也可以用char*去存取字串。
3, 現在char **argv 就好理解了,它就是一個指向字串的指標。 當你在終端打入 leds led_no 0 時,argv[0]就是leds,argv[1]就是led_no, argv[2]就是 0; 如果你熟悉陣列與指標的關係,那麼這裡的argv[n]也容易理解, 他們都是字串!
這一句:sscanf不同於scanf的地方是 sscanf從一個字串中得到輸入, 而scanf是你從終端輸入。
這句就是,如果argv [1]這個字串中含數字,那麼就把它讀入led_on. 並返回1,否則返回0
請問main(int argc, char *argv[])怎麼用?
3樓:育知同創教育
argc表示 檔案執行時 以空格為間隔的所有引數個數,argv陣列中依次存放所有字串
比如:借用上樓的程式來講講,希望不介意,該程式儲存編譯後名叫做 test.exe
在dos環境中執行是輸入如下
test one two three《回車》
argc=3,從0-3,argv[0]=test, argv[1]=one, argv[2]=two,argv[3]=three
這個東東是從dos時代傳下來的,程式後面跟引數,一般是該程式需要引數或需要操作目標時才會用到
c語言 主函式裡的東西是什麼意思 int main(int argc, char* argv[]){}
4樓:柯墨
每一c 程式都必須有一main()函式,可以根據自己的愛好把它放在程式的某個地方。有些程式設計師把它放在最前面,而另一些程式設計師把它放在最後面,無論放在哪個地方,以下幾點說明都是適合的。
main() 引數
在turbo c2.0啟動過程中,傳遞main()函式三個引數:argc,argv和env。
* argc: 整數,為傳給main()的命令列引數個數。
* argv: 字串陣列。
在dos 3.x 版本中,argv[0] 為程式執行的全路徑名;
對dos 3.0 以下的版本,argv[0]為空串( " ") 。
argv[1] 為在dos 命令列中執行程式名後的第一個字串;
argv[2] 為執行程式名後的第二個字串;
...argv[argc]為null。 *env: 字串陣列。
env 的每一個元素都包含envvar=value形式的字串。其中envvar為環境變數如path或87。value 為envvar的對應值如c:
\dos,c:\turboc(對於path) 或yes(對於87)。
turboc2.0啟動時總是把這三個引數傳遞給main()函式,可以在使用者程式中說明(或不說明)它們,如果說明了部分(或全部)引數,它們就成為main()子程式的區域性變數。 請注意:
一旦想說明這些引數,則必須按argc,argv, env的順序,如以下的例子:
main()
main(int argc)
main(int argc, char *argv)
main(int argc, char *argv, char *env)
其中第二種情況也是合法的,但不常見,因為在程式中很少有隻用argc,而不用argv的情況。
我是直接學c++起步的,一般的控制檯程式就是main()因為除了需要重定向輸入輸出的情況下,一般是不用那些引數的。c語言不熟
5樓:匿名使用者
這個在原來dos的環境下使用tc2.0編譯的時候還有點作用 現在不是很明顯了
例如編譯一個abc.c程式生成 abc.exe 在dos下執行可以加執行引數 比如 abc.
exe ok good nice (後三個為可選的執行引數 並非這幾個單詞僅做示例) 那麼argv字串就儲存這四個引數(包括abc.exe) argc為各引數的下標 可以用來訪問某個引數 ,例如argv[0] 就為abc.exe ,argv[1]就為ok.
依次類推
沒有麼 也是可以的
6樓:青雲
意思就是執行該程式時可以輸入一些引數,而引數就傳值給它們。
沒有當然可以。
7樓:
返回引數, 第一個 長整形的引數 第二個字元型的 陣列
愛情怎麼理解,怎麼理解愛情?
愛情就是兩個人在一起生活,互相取悅對方,能在自己最困難的時候幫助你,在你困惑的時候,信任你,在你迷茫的時候,陪伴你。pwd 1234 提取碼 1234 在同一家銀行工作的四名男女陷入了錯綜複雜的戀愛關係中,因為他們發現為了愛,一切都是值得的。1 愛情,是兩個素不相識的人,忽然遇見,回眸一瞬,入了心,...
怎麼理解這句話,請問怎麼理解這句話
哪句話,話呢 怎麼沒有主幹 n and friendship,find a preci 請問怎麼理解這句話?意思是屠呦呦不是第一個獲得諾貝爾科學獎項的華人科學家,早在1957年,楊振寧與李政道提出了宇稱不守恆理論,並共同獲得了諾貝爾物理學獎,他們是最早的華人諾貝爾獎得主,但除屠呦呦外,中國本土無人獲...
感情怎麼理解呢,情感是什麼,怎麼理解情感?
你越是怕失去女生,你就不敢跟她聊天,約會,這樣你真的就會失去女生。感情是複雜的 bai 個體的 不可替du代的。zhi 感情包括各種方面dao,愛情 親情 友情 鄉情等內。你容說的感情並沒有特別闡述,我先把它等同於愛情加以闡述。從社會經驗來看,人絕不是跟誰在一起了都會產生愛情。有的人結婚一輩子,卻從...