int main(int argc, char *argv[])
这个参数是哪里传递来的?
C/C++语言中的main函数,经常带有参数argc,argv,如下:
int main(int argc, char** argv) int main(int argc, char* argv[])
这两个参数的作用: argc 是指命令行输入参数的个数(以空白符分隔) argv存储了所有的命令行参数。
1.通过命令行运行
假如你的程序是Helloworld.exe,在cmd命令行运行时,增加参数即可:
Helloworld.exe hello
hello即为参数。
2.通过vs设置传递
右键项目->属性->配置属性->调试->命令行参数
3.快捷方式添加
右键点击可执行程序的快捷方式,属性->目标。在路径最后添加即可。
PS:
请问这里为什么要设置这两个参数呢?不要不行吗?
有些时候程序运行时需要提供一些参数。比如copy命令,需要指明源文件和目标文件名,就得通过argc和argv来传递。
为什么第二个形参参数要用指针数组?
由于命令行中的字符串的长度事先并不知道,而且各个参数字符串的长度一般也并不相同,因此只有用指针数组能够比较好地满足上述要求,可以从这里体会指针数组的用处。