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

时间:2019-05-14 11:40:05

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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