【问题标题】:Using command line arguments to extract from txt file and run specific classes in C++使用命令行参数从 txt 文件中提取并在 C++ 中运行特定的类
【发布时间】:2019-05-14 19:44:17
【问题描述】:

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

./project.exe -Stack

./project.exe -Queue

我想知道为什么堆栈和队列前面都有一个 - 以及为什么文件名前面有

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

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

【问题讨论】:

  • 这完全取决于project.exe 是什么。程序可以为其喜欢选择的命令行参数选择任何格式。您可以编写一个使用42 作为命令行参数前缀的程序
  • 你要问写信的人project.exe

标签: c++ command-line command-line-arguments


【解决方案1】:

选项的破折号只是一个常见的约定。通常在现代命令行程序中,对所谓的 long 选项使用双破折号(例如 --stack),对 short 选项使用单破折号(例如 -s )。

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

<文件重定向。它告诉外壳程序从文件重定向程序标准输入。在程序内部,您可以从标准输入 (std::cin) 中读取,它将自动从文件中读取。这种重定向完全由 shell 处理。

【讨论】:

    猜你喜欢
    • 2020-12-10
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2012-11-14
    • 2021-12-21
    相关资源
    最近更新 更多