關於C命令列引數的一些理解

2021-10-08 08:02:19 字數 1183 閱讀 6180

執行程式時,可以從命令列傳值給 c 程式。這些值被稱為命令列引數,它們對程式很重要,特別是當您想從外部控制程式,而不是在**內對這些值進行硬編碼時,就顯得尤為重要了。

命令列引數是使用 main() 函式引數來處理的,其中,argc 是指傳入引數的個數,ar** 是乙個指標陣列,指向傳遞給程式的每個引數。下面是乙個簡單的例項,檢查命令列是否有提供引數,並根據引數執行相應的動作:

```c

#include int main( int argc, char *ar** )

else if( argc > 2 )

else

}

使用乙個引數,編譯並執行上面的**,它會產生下列結果:

$./a.out testing

the argument supplied is testing

使用兩個引數,編譯並執行上面的**,它會產生下列結果:

$./a.out testing1 testing2

too many arguments supplied.

不傳任何引數,編譯並執行上面的**,它會產生下列結果:

$./a.out

one argument expected

應當指出的是,ar**[0] 儲存程式的名稱,ar**[1] 是乙個指向第乙個命令列引數的指標,*ar**[n] 是最後乙個引數。如果沒有提供任何引數,argc 將為 1,否則,如果傳遞了乙個引數,argc 將被設定為 2。

多個命令列引數之間用空格分隔,但是如果引數本身帶有空格,那麼傳遞引數的時候應把引數放置在雙引號 "" 或單引號 '' 內部。讓我們重新編寫上面的例項,有乙個空間,那麼你可以通過這樣的觀點,把它們放在雙引號或單引號""""。讓我們重新編寫上面的例項,向程式傳遞乙個放置在雙引號內部的命令列引數:

```c

#include int main( int argc, char *ar** )

else if( argc > 2 )

else

}

使用乙個用空格分隔的簡單引數,引數括在雙引號中,編譯並執行上面的**,它會產生下列結果:

$./a.out 「testing1 testing2」

progranm name ./a.out

the argument supplied is testing1 testing2

scrapy 命令列模式的一些引數

官網位址 scrapy genspider l 檢視爬蟲模板的命令 scrapy genspider example example.com scrapy genspider t scrapyorg scrapy.org 這個是另乙個的爬蟲規則 scrapy list 檢視自己的爬蟲 headers...

一些命令列指令

linux下的一些指令 mkdir a 建立乙個名稱為a的資料夾 ls 檢視當前資料夾下的檔案 ll 檢視當前資料夾下的檔案的詳細資訊 pwd 檢視當前命令列所在的路徑 cd 返回上級目錄 d 進入d盤 touch index.html 新建乙個檔案 npm的一些指令 npm install g c...

Ionic Framework的一些命令列解釋

npm install g ionic 安裝ionic ionic lib update ionic serve options 啟動乙個本地的server,在瀏覽器中開啟,並可監視檔案變化,隨時重新整理瀏覽器。可以在主目錄下的ionic.project檔案的watchpatterns中配置要監視的...