在 C++ 中使用命令行参数从 txt 文件和 运行 特定的 类 中提取

Using command line arguments to extract from txt file and run specific classes in C++

我正在处理一个项目,需要 运行 使用以下任一命令:

./project.exe -Stack < [文件名]

./project.exe -队列 < [文件名]

我想知道为什么 Stack 和 Queue 前面都有一个 - 以及为什么文件名前面有 < 并且在括号中。

此格式的目的是告诉程序使用堆栈 class 运行 或使用队列 class 运行。我还需要从命令行中提到的文本文件中提取信息。

我熟悉一般的命令行参数以及如何使用它们,但我以前从未见过这种表示法,也找不到任何明确的解释。

选项的破折号只是一种常见的约定。通常在现代 command-line 程序中,double-dash 用于 so-called long 选项(例如 --stack),单破折号用于 选项(例如-s)。

许多现有的参数解析器,如 Linux getopt_long function,实际上需要单破折号或双破折号来识别短选项和长选项。

<文件重定向。它告诉 shell 从文件中重定向程序标准输入。在程序中,您可以从标准输入 (std::cin) 读取,它会自动从文件中读取。此重定向完全由 shell.

处理