C++

关于argc与argv

关于int main(int argc,char** argv[])

参考视频教程:http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240532X+sp/courseware/1471b559c87c46a288be7c848f53122b/98e617013f574380bf80e1a8e8f78296/

argc与argv的含义

关于int main(int argc, char** argv)或者int main(int argc, char* argv[])
argc为整数,表示参数(argv数组元素)的个数;
argv意思是一个字符串指针数组,用于接收输入的具体字符码。
    char** argv 可理解为字符串的char*
    char* argv[] 可理解为字符串的数组
argv[0]为程序名称,如:c:/project/test.exe

cmd命令行运行方法

argc是指参数个数,argv[]是指参数内容。

如果遇到这种需要argv[1]进行程序运行的,如:

std::string video = argv[1];

运行方法如下:

  • 先编译,程序会生成exe文件;
    (有debug和release两种不同的编译模式)
  • 将argv[1]对应的内容放在exe同一个文件夹下;
    如:bike.avi
  • 打开cmd,进入到程序的exe文件夹下,;
    如:track.exe()
  • 依次输入exe文件名和argv[1]的文件名(中间空格)
    如:track.exe bike.avi

同理,argv[2]等的输入,就把其名字加在argv[1]后面即可。

不过我觉得这种输入参数的方式不太适合windows,尤其是参数不多的时候。
注意:每次修改代码后,需重新编译再运行。