windows命令列下如何呼叫main函式

YunShell發表於2014-03-30

 通常C/C++的入口函式都是main函式,平常一般使用的原型都是

int main() 
{
   //something;
   return 0;
}

但是 main函式也可以是有引數的

int main(int argc,char *argv[]) 
{
   //something;
   return 0;
}

引數1:argc就是命令列的引數個數。比如使用者輸入: filename  lynnbest  zxw 這個命令列命令,從字串個數角度來看,就是3個字串。所以argc=3.

引數2:是一個字元指標陣列(一個陣列,每個陣列中的元素為一個指標)。也就是給main函式傳遞引數的值。

          比如前面提到的命令列命令 中,訪問argv[0]就表示就是“filename  ”字串的首地址。那麼列印出來就是filename了,明顯argc有幾個值,那麼字串就有幾個。而我們關心的引數當然就是除去filename了其他的引數,因為第一個為可執行檔案的名字。從第二個開始才是 要傳入的引數。

命令列命令解釋:

         格式為:Exe檔名   引數1  引數2...引數n 

Exe檔名是指的是要執行的.exe檔名,引數1,引數2是指給main函式進行傳引數

下面是一個具體的使用

1.首先編輯原始碼

/測試命令列下 如何呼叫main函式
#include <stdio.h>  //功能就是從命令列中傳遞字串,並且列印出來
int main(int argc,char *argv[])
{	
	char **p=argv;
	while(argc>1)
	{
		puts(*(++p)); //列印 從命令列中 輸入的字串
		argc--;
	}
	return 0;
}
//輸入testc beijing shanghai
//輸出	beijing 
//	shanghai
然後,對該檔案進行編譯連結,得到.exe檔案。本文中是c_cpp_vs08.exe

2.進入windows命令列環境下,將目錄切換到 上述的.exe資料夾下。

比如我的c_cpp_vs08.exe 檔案位於h:下的。

點選  執行-開始-cmd 進入到命令列狀態下:

先進入h:盤存放檔案的碟符


使用cd命令進入指定資料夾


然後就是輸入命令 –回車-列印出了兩個字串


小結:通過在命令列下給main函式進行傳遞引數,可以看出main函式也是接受引數的。只是因為大部分我們都是直接通過OS來呼叫main函式。

相關文章