C/C++编写带参数的main函数
源程序文件:m_1_3_1.cpp:
/*
* 带参数的main()函数。
*/
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main(int argc, char* argv[]){
if(argc != 3){ // 不用输入,根据argv[]的长度由程序自动推导出
cout<<"Invalid arguments number!"<<endl;
exit(1);
}
cout<<"argc:"<<argc<<endl;
// argv[0]:永远是当前可执行文件(.exe)的绝对路径
cout<<"string:"<<argv[0]<<endl;
cout<<"string:"<<argv[1]<<endl;
cout<<"string:"<<argv[2]<<endl;
cout<<"The two strings equal? ";
cout<<(strcmp(argv[1],argv[2])? "no":"yes")<<endl;
return 0;
}
- 在控制台使用g++编译器将源文件编译成可执行程序
g++ m_1_3_1.cpp
,在同目录下生成a.exe 可执行文件:
- 控制台输入
a.exe wet wet
,执行结果如下:
注意:argc这个参数是通过agrv[]的长度计算得到的,而非在控制台输入的。agrv[]的第一个参数永远是当前可执行文件的绝对路径