C++的 Arguments list 可以在 int main 的參數取得
複製程式
int main(int ctArg, char* cArg[], char* cEnv[])
{
......
}
▲ 以上是我個人喜愛的用法,當然變數名稱可以自己改
我取 ct 為 count 的意思,Arg 為 Argument,c 為 char,Env 為 Environment
ctArg 是參數(Argument) 的個數,一般要大於等於 1
cArg 就是參數的字元/字串了,其中 cArg[0] 是自己路徑的名稱,因此沒有參數時,ctArg 會是 1,大於 1 時,就是有額外的參數
cEnv 一般來說用不到這個...這是環境參數 (有興趣可以用 for 全部列出來看看)
我這邊做了一個小範例,可以點
Run.bat 來執行 Temp.exe
會看到 用C++做的程式是如何取得 Argument list 的
例如我呼叫
"Temp.exe" 1 2 3 4程式會列出
Count of arguments = 5Argument[0] = Temp.exeArgument[1] = 1Argument[2] = 2Argument[3] = 3Argument[4] = 4
Temp.exe 的 C 程式碼 :複製程式
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int main(int ctArg, char* cArg[], char* cEnv[])
{ /// @Main
int i;
cout << "Count of arguments = " << ctArg << endl;
for (i = 0; i < ctArg; i++)
cout << "Argument[" << i << "] = " << cArg[i] << endl;
cout << endl << endl;
///========== Suspend or terminate =========
cout << "Press <ENTER> to exit..." << endl;
cin.sync(); cin.get(); ///< Suspend
return 0;
}
Run.bat :複製程式
@echo off
echo Execute "Temp.exe" with arguments 1 2 3 4...
echo.
"Temp.exe" 1 2 3 4