您好,登錄后才能下訂單哦!
這篇“C語言命令行參數怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C語言命令行參數怎么使用”文章吧。
c語言的命令行參數非常簡單,只需要一個簡單的例子就可以說明:
#include <stdio.h> void main(int argc,char** argv) { printf("%d ",argc); printf("%s ",argv[0]); printf("%s ",argv[1]); printf("%s ",argv[2]); }
在上面的例子中,我們給main函數傳遞兩個參數,argc和argv。argc是int類型的,它表示的是命令行參數的個數。不許要用戶傳遞,它會根據用戶從命令行輸入的參數個數,自動確定。argv是char**類型的,它的作用是存儲用戶從命令行傳遞進來的參數。它的第一個成員是用戶運行的程序名字。
對于上面的例子,我們將其保存為test.c,用gcc編譯生成目標文件為test,測試如下:
(1)我們值在命令行下直接運行程序,沒有傳遞其它任何參數:
./test
運行結果如下:
第一個輸出的是argc,因為我們只輸入了./test,所以argc為1,即只有一個命令行參數。后面輸出的第一個命令行參數也是./test。接著程序就出錯了,因為后面已經沒有第二個和第三個參數了,在寫實際的應用時,應注意對這一部分進行容錯處理。
(2)我們在命令行下輸入:
./test hello world
可以看到argc為3,第一個參數為./test,第二個參數為hello,第三個參數為world。
(3)我們繼續輸入:
./test hello world hello world
可以看到這時,argc變為5,argv指數出了前面三個參數,當然還可以把后面的兩個參數也進行輸出。
如果命令行中傳遞的一個參數包括空格,就需要用用“ ”將參數擴起來例如
./test "hello world" "hello world"
我們將hello world整體當作一個參數傳遞,就需要使用“hello world”。
需要注意的是argv的類型可以是char ** argv,char argv[ ][ ],char* argv[ ]。
以上就是關于“C語言命令行參數怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。