0

我们的讲师要求我们通过以下方式将数据输入代码:

1.Random mode
Run with graphs generated by random number generator. The command line for 
this mode is: 
$ mst –r n d 
// run in a random connected graph with n vertices and d% of density. 
// See Performance measurements section for details. 


2.User Input mode
$mst -s file-name // read the input from a file ‘file-name’ for simple scheme
$mst -f file-name // read the input from a file ‘file-name’ for f-heap scheme

目前我已经编写了代码并使用g++编译了它:

g++ -o mst.o mst.cpp

我从这样的文件中获取输入:

./mst.o < data.txt

但是,我不知道如何满足上述要求。

4

2 回答 2

4

一个应用程序在 main 中启动,如下所示:

int main(int argc, char* argv[])

这些是命令行参数。

如果需要,您可以将它们打印出来:

int main(int argc, char* argv[])
{
    std::cout << "Application: " << argv[0] << "\n";
    for(int loop =1 ;loop < argc; ++loop)
    {
        std::cout << "\tArg: " << loop << "   Value: " << argv[loop] << "\n";
    }
}
于 2013-10-21T03:12:43.687 回答
2

您需要检查argcargv参数main。如果argv足够大,请检查argv[1]它是否是您需要处理的开关之一。如果是,则将另一个解码argv为您需要的数字或文件名。argv[0]通常是可执行文件的名称,不使用。

于 2013-10-21T02:30:00.520 回答