如果我有这个:
int main(int argc, char *argv[])
在正文中,您有时可以找到使用 argv[1]
的程序。
我们什么时候使用 argv[1]
而不是 argv[0]
?是否仅当我们只想读取命令行中的第二个参数时?
最佳答案
按照惯例,argv[0]
是当前程序的名称(或路径),argv[1]
到 argv[argc - 1]
是用户提供的命令行参数。
但是,这并不必须是真实的——程序可以使用特定于操作系统的功能来绕过这一要求,而且这种情况经常发生,您应该意识到这一点。 (不过,我不确定即使您意识到这一点,您是否可以做很多事情...)
例子:
gcc -O3 -o temp.o "My file.c"
将(应该)产生以下参数:
argc: 5
argv: ["gcc", "-O3", "-o", "temp.o", "My file.c"]
所以说 argv[0]
会引用 gcc
,不是 -O3
。
关于c++ - int main(int argc, char *argv[]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217395/