指令行參數
指令行界面中,可執行檔案可以在鍵入指令的同一行中擷取參數用于具體的執行指令。無論是Python、Java還是C等等,這些語言都能夠擷取指令行參數(Command-line argument,與指令同一行中的附加項)。
C編寫的可執行檔案的程式入口函數是main函數,是以C程式真正讀取指令行參數的就是main函數。
例:
#include
int main(int argc,char *argv[]) {
int count;
printf("The command line has %d arguments :\n",argc-1);
for (count = 1; count < argc; ++count) {
printf("%d: %s\n",count,argv[count]);
}
return 0;
}
我們在test.exe所在檔案夾打開指令行視窗,鍵入test I love you,會輸出:
The command line has 3 arguments:
1: I
2: love
3: you
C标準規定main函數作為程式入口,可以沒有參數,也可以有兩個參數。兩種參數的情況下,第一個參數argc是指令行中的字元串個數,字元串的分隔按空格來判斷,上例中總共輸入了4個字元串,分别是 test, I, love, you。第二個參數argv是一個指向這些字元串的指針數組。指令行界面中輸入的所有字元串被存儲在這個數組中,可以用for循環周遊。第一個元素當然是指令的名稱。當然,對于接受參數的main函數也可以用另一種聲明:
inr main(int argc, int **argv)。argv是一個指向字元的指針的指針,本質上還是指向包含多個字元串的數組。
指令行界面允許使用雙引号把多個單詞識别成一個參數:
test "I love you."
這其中I love you.被認為是一個整體的參數。
從Win32程式中的主函數中擷取指令行參數
在标準C或者Win32控制台程式的main函數中,它們都有兩個參數:"argc" 和 "argv",如下所示: int main(int argc, char ...
【WPF】如何擷取指令行參數
應用程式以 Main 方法為入口點,如果為 Main 方法指定一個 string[] 類型的參數,在程式運作時,這個參數會擷取到傳遞給應用程式的指令行參數. 而 WPF 應用程式比較特殊,因為在VS中 ...
【Python學習 】Python擷取指令行參數的方法
背景 最近編寫一個python程式的時候,需要去擷取python指令行的參數,是以這裡記錄下如何擷取指令行參數的方法. 一.sys 子產品 在 Python 中,sys 子產品是一個非常常用且十分重要的模 ...
python擷取指令行參數的方法(彙總)
介紹python擷取指令行參數的方法:getopt模和argparse子產品. python版本:2.7 一.getopt子產品 主要用到了子產品中的函數: options, args = getopt.g ...
MFC中擷取指令行參數的幾種方法
在MFC程式中,可以用以下幾種方法來擷取指令行參數. 為友善說明,我們假設執行了指令:C:\test\app.exe -1 -2 方法一 ::GetCommandLine(); 将擷取到 " ...
go語言基礎之擷取指令行參數
1.擷取指令行參數 示例: package main //必須 import "fmt" import "os" func main() { list := o ...
golang擷取指令行參數
部署golang項目時難免要通過指令行來設定一些參數,那麼在golang中如何操作指令行參數呢?可以使用os庫和flag庫. 1.golang os庫擷取指令行參數 os可以通過變量Args來擷取指令 ...
[GO]擷取指令行參數
package main import ( "os" "fmt" ) func main() { list := os.Args n := len(list) ...
python擷取指令行參數
python擷取指令行參數 主要是通過sys的argv清單來擷取指令行内容,指令行的參數以空格分隔放到argv清單中. import sys if __name__ == "__main__ ...
随機推薦
Entity Framework實作多列排序
aList.OrderBy(a => a.WIndex).ThenBy(a=>a.KIndex) 類似sql:order by WIndex,KIndex
AutoMapper 使用實踐
一. 使用意圖 常常在開發過程中,碰到一個實體上的屬性值,要指派給另外一個相類似實體屬性時,且屬性有很多的情況.一般不利用工具的話,就要執行個體化被指派實體B,然後再将實體A的字段一個個指派給B的屬性 ...
Groovy入門經典 随書重點
1 數值和表達式 1.1數值 整數是Integer類的執行個體 有小數部分的數值是BigDecimal類的執行個體 不同于java,沒有基礎資料類型 一切皆對象的概念重于java 1.2表達式 兩個整數的除法 ...
netsh用法
netsh(Network Shell) 是一個windows系統本身提供的功能強大的網絡配置指令行工具. 導出配置腳本:netsh -c interface ip dump > c:\inte ...
nvm配置
多版本安裝方式 解除安裝已有的Node.js 下載下傳nvm 在C槽建立目錄dev 在dev目中中建立兩個子目錄nvm和nodejs 并且把nvm包解壓進去nvm目錄中 在install.cmd檔案上面右鍵選 ...
使用Windows Service Wrapper快速建立一個Windows Service 如nginx
前言 今天介紹一個小工具的使用.我們都知道Windows Service是一種特殊的應用程式,它的好處是可以一直在背景運作,相對來說,比較适合一些需要一直運作同時不需要過多使用者幹預的應用程式,這一類我 ...
IE6 select穿透問題(div 定位無法遮蓋select)!
此問題,早有耳聞,可是一直都沒有親身碰到過,也就沒有過多的去在意這些問題. 這一回總算是見識到了ie的厲害.雖是在ie選項中大大的寫着ie版本号是ie11 .可是有些部分确實走的ie6的核心.怪不得微 ...
NET-知識點:C#中Equals和==比較
第一.相等性比較 其實這個問題的的本質就是C#的相等比較,相等比較可以分兩類: 1.引用相等性,引用相等性指兩個對象引用均引用同一基礎對象. 2.值相等性,值相等性指兩個對象包含相同的一個或多個值,其 ...
empty、isset、is_null的比較
直接上代碼 <?php $a=0; $b='0'; $c=0.0; $d=''; $e=NULL; $f=array(); $g='\0'; $h=' ';//space $i=true; $j ...