Реализация нотации «app.exe -файл инструкций» в C++

StackOverflow https://stackoverflow.com/questions/849042

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня есть проект для моего класса «Структуры данных», который представляет собой компрессор файлов, работающий с использованием двоичных деревьев и других вещей.Нам необходимо «заархивировать» и «разархивировать» любой файл, используя следующие инструкции в командной строке:

Для сжатия: компрессор.exe -zip файл.что угодно

Для распаковки: компрессор.exe - разархивировать файл.zip

Мы программируем в С++.Я использую IDE Code::Blocks и компилирую с помощью GCC в Windows.

Мой вопрос: Как это вообще реализовать??!! Как заставить ваш .exe получать эти параметры в командной строке, а затем выполнять их так, как вы хотите?

Кроме того, что нужно иметь в виду, если я хочу, чтобы эта реализация компилировалась в Linux?

Спасибо за вашу помощь

Это было полезно?

Решение 3

Логично, я понял!!

Теперь у меня есть базовое представление о том, как использовать аргк и аргумент[ ] параметры на основной() функция (я всегда интересно, для чего они хороши...).Например, если я введу в командную строку:

компрессор.exe - разархивировать файл.zip

Затем:

  • argc инициализируется значением «3» (количество аргументов в строке)
  • argv[0] == "compressor.exe" (имя приложения).
  • argv[1] == "-разархивировать"
  • argv[2] == "file.zip"

Грег (не «Крег», извините =P) и Бемроуз, спасибо вам, ребята, за вашу помощь!!^^

Другие советы

Возможно, вы захотите поискать в тексте своей программы подпись main функция, точка входа вашей программы.Здесь вы сможете получить эти параметры командной строки.

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

Удачи!

Насколько я помню, Единая спецификация UNIX/POSIX определяет получить выбор в unistd.h, который будет обрабатывать за вас анализ аргументов.Хотя это функция C, она также должна работать и в C++.

ГНУ ГЛИБК есть это в дополнение к getopt_long (в getopt.h) для поддержки расширенного --style GNU.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top