【发布时间】:2015-09-15 16:59:53
【问题描述】:
我编写了这个简单的代码来了解参数系统的工作原理。我将一个文本文件拖到 .exe 文件中,并得到 2 作为输出,而不是我预期的 1。 为什么是2? Arg 1 是 .exe 本身吗?如何找出参数的文件名?
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
int i = 0;
const int max = 100000;
if (argc > 0)
{
cout<< argc <<endl;
}
cin.get(); cin.get();
return 0;
}
还有一个问题。我在哪里可以告知如何访问每个参数并使用这些信息。我的目标是打开所有作为参数传递给 .exe 的文件。
这不是一个重复的问题,我问为什么当你传递 1 个参数时返回 2。链接中的问题是另一个...
【问题讨论】:
-
程序总是至少接收 1 个参数,即程序的名称。
-
为什么没有输出
argv的值?那会回答你自己的问题。 -
为什么这个问题得到如此多的反对票?我看到的唯一“错误”是问题非常基本。但它解释了询问者迄今为止的尝试,甚至提供了一个最小的例子。
-
@EdwardBlack 也许“研究努力”还不够。如果您知道
argc是什么,但对坐在它旁边的argv的含义一点也不好奇,那么这些反对票可能是有道理的。 -
这就像在说“阅读这本 C++ 书,那里都有解释”