c++ - int main(int argc, char *argv[])

标签 c++ arrays program-entry-point argv

如果我有这个:

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/

相关文章:

c++ - Direct2D - 没有任何内容被绘制到屏幕上,我在 C++ 中处理数组的方式出了问题

c# - 在 VS 中通过 Main(string[] args) 传递参数

java - Java 中从类到主类的用户输入

c++ - OpenCV - 是否有删除文本之类的东西?

c++ - 类似于函数的宏不接受嵌套的#define

c++ - 重新诠释

c++ - 如何一次性复制一个文件夹中的大文件或小文件?

java - 根本无法获取要操作的对象的数组(或 vector )

C 从文件中读取文本并将其放入数组中

c - xcode多个主要方法