Sim*_*ity 4 c++ arrays program-entry-point argv
如果我有这个:
int main(int argc, char *argv[])
Run Code Online (Sandbox Code Playgroud)
在身体中,您有时可以找到使用的程序argv[1]
.
我们什么时候argv[1]
用完argv[0]
?是否仅在我们想要在命令行中读取第二个参数时?
Meh*_*dad 12
按照惯例,argv[0]
是当前节目的名称(或路径),并argv[1]
通过argv[argc - 1]
都是命令行参数,用户提供.
然而,这并不必须是真实的-程序可以与操作系统相关的功能来绕过这一要求,而这种情况往往不够,你应该意识到这一点.(即使你知道它,我也不确定你能做多少事情......)
例:
gcc -O3 -o temp.o "My file.c"
Run Code Online (Sandbox Code Playgroud)
会(应该)产生以下参数:
argc: 5
argv: ["gcc", "-O3", "-o", "temp.o", "My file.c"]
Run Code Online (Sandbox Code Playgroud)
所以说argv[0]
会参考gcc
,不给-O3
.
argv
是一个指针数组,此数组中的每个指针都存储一个来自命令行的参数.那么argv[0]
第一个参数(即可执行文件/程序本身),argv[1]
是第二个参数,依此类推!
参数总数由argc
.确定.