1

我在 codeeval.com 上闲逛,这是一个用于查看编码挑战的网站,我注意到其中不少具有以下规范:

Your program should accept as its first argument a path to a filename

一个例子如下:

描述:

编写一个程序来确定列表的第 M 个到最后一个元素。

输入样本:

第一个参数将是一个文本文件,其中包含一系列以空格分隔的字符,后跟一个整数,表示列表中的索引(基于 1),每行一个。例如......(问题继续解释输入是什么)。

这是否意味着当我编译我的程序时,我会使用 argv[0] 作为参数来接受文件?一个例子如下所示。我对提示的要求有点困惑。谢谢你的帮助!

int main(int argc, char **argv)
{
   ifstream file;
   file.open(argv[0]);
   ...
   return 0;
} 
4

1 回答 1

3

argv[0]通常是指正在执行的程序的名称。您将使用argv[1](这是程序的第一个参数,而不是程序的名称)。

argc >= 2在尝试取消引用之前确保argv[1]

有关如何使用和接收命令行参数的更多详细信息,请参阅http://crasseux.com/books/ctutorial/argc-and-argv.html 。argcargv

于 2013-02-09T23:44:09.070 回答