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