Использование аргументов командной строки для извлечения из TXT-файла и запуска определенных классов в C ++ - PullRequest
3 голосов
/ 14 мая 2019

Я работаю над проектом, который необходимо запустить с помощью одной из следующих команд:

. / Project.exe -Stack <[имя файла] </p>

. / Project.exe-Queue <[имя_файла] </p>

Мне интересно, почему перед стеком и очередью стоит - и почему имени файла предшествует <и в скобках. </p>

Цель этогоФормат - это указание программе запускаться с использованием класса стека или с использованием класса очереди.Мне также нужно извлечь информацию из текстового файла, упомянутого в командной строке.

Я знаком с общими аргументами командной строки и их использованием, но я никогда раньше не видел эту запись и не могунайти какие-либо четкие объяснения.

1 Ответ

3 голосов
/ 14 мая 2019

Черта для опций - это просто общее соглашение.Обычно с современными программами командной строки используется двойная черта для так называемых опций long (например, --stack) и одиночная черта для опций short (например, -s).

Многие существующие парсеры аргументов, такие как Linux getopt_long функция , фактически требуют, чтобы одинарные или двойные тире для коротких и длинных опций распознавались как таковые.

< - это перенаправление файлов .Он говорит оболочке перенаправить стандартный ввод программы из файла.Внутри программы вы можете читать со стандартного ввода (std::cin), и он будет автоматически читать из файла.Это перенаправление полностью обрабатывается оболочкой.

...