在 c++ 中处理代码的命令行参数,用于随机输入和用户输入

Processing command line arguments for a code in c++ for random and user input

本文关键字:输入 用于 随机 参数 用户 命令行 c++ 处理 代码      更新时间:2023-10-16

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

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

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

应用程序在 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";
    }
}

您需要检查argcargv参数才能main。如果argv足够大,请检查argv[1]以查看它是否是您需要处理的开关之一。如果是,则解码其他argv以获取所需的数字或文件名。 argv[0]通常是可执行文件的名称,不使用。