在 c++ 中处理代码的命令行参数,用于随机输入和用户输入
Processing command line arguments for a code in c++ for random and user input
我们的讲师要求我们通过以下方式将数据输入到代码中:
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";
}
}
您需要检查argc
和argv
参数才能main
。如果argv
足够大,请检查argv[1]
以查看它是否是您需要处理的开关之一。如果是,则解码其他argv
以获取所需的数字或文件名。 argv[0]
通常是可执行文件的名称,不使用。
相关文章:
- LLVM | codegen 用于带有命令行选项的程序输入功能
- 用于获取枚举值的用户输入
- 一个C++程序,用于在输入位数时输出具有特定位数的 .txt 文件中的所有数字
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 在一个子程序中输入的变量用于C++中的另一个子程序
- 为什么给定的代码不适用于所有测试用例?为什么当输入为 7786 时它不起作用?
- 为什么用于获取有关名称的输入的语法不起作用?
- 为什么我的递归最长递增子序列函数不适用于大输入?
- 用于了解输入和输出流缓冲区实际工作方式的程序
- 在此代码中,它不接受 i=0 的输入.它直接用于 i=1
- Tensorflow C++ 用于动态输入形状的 API
- 代码似乎不适用于较大的输入,但适用于较小的输入
- 流输入运算符导致分段错误与 clang 但适用于 gcc
- C++ 代码中的质因数并不适用于所有输入
- 用于使用可选输入文件运行 C++ 的 VIM 映射
- 输入/矢量数组不适用于发送输入
- C 两个线程一个用于输入,一个用于输出
- 切换输入用于排序算法
- C++ 将用户输入数据用于多个函数
- 如何使用 arc4 输入用于加密的字符串