int main(int argc,char* argv[])详解:
argc是命令行总的参数个数
argv[]是argc个参数,其中第0个参数是程序的全名,以后是传入的参数
命令行后面跟的用户输入的参数,比如:
int main(int argc, char* argv[])
{
int i;
for(i = 0; i<argc; i++)
cout<<argv[i]<<endl;
cin>>i;
return 0;
}
如果你执行时敲入:
F:\D1.EXE aaaa bbb ccc ddd
输出如下:
F:\D1.EXE
aaaa
bbb
ccc
ddd
-------------------------------------------------------------------- 因为平常我们使用windows较多,所以对带参的main函数不是很了解,但有些实际的项目需要读取程序启动时传入的参数,我们先看一下这些参数的关系:
char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数argv[]参数,数组里每个元素代表一个参数; 以windows为例:默认情况下程序启动时会将程序所在的绝对路径传给argv[0],也就是argc=1,如果有其他参数参入是,会argc++,依次放入argv[1]、argv[2]...,程序中只要判断argc是否大于1,便可以知道传入的参数个数,再读取argv[i]的内容即可。 比如:在windows中我们将文件直接拖入一个程序,那么argc=2,argv[0]为当前程序路径,argv[1]为拖入文件的文件名
PS:如果程序中实现了这个功能便是极好的,同时,在阅读其他资料(比如OpenCV)时我们也能够明白别人的程序的流程