Интерпретация командной строки - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день всем. Дали задание

Написать программу обработки командной строки вызова программы, которая принимает опцию -a без аргумента и опцию –b с аргументом

Очень прошу посодействовать примерами или источником литературы где можно поучить. Только если есть возможность литературу более доступную для самых начинающих Всем заранее большое спасибо.

Решение задачи: «Интерпретация командной строки»

textual
Листинг программы
#include <stdio.h>
#include <unistd.h>
 
int main(int argc, char *argv[]){
    int rez=0;
    while ( (rez = getopt(argc,argv,"ab:")) != -1){
        switch (rez){
            case 'a': printf("found argument \"a\".\n"); break;
            case 'b': printf("found argument \"b = %s\".\n",optarg); break;
            case '?': printf("Error found !\n");break;
        }
    }
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с командной строкой и для работы с памятью.
  2. Объявляем функцию main, которая принимает два аргумента: int argc и char *argv[].
  3. Создаем переменную rez, которая будет хранить результат работы функции getopt.
  4. Запускаем цикл while, который будет выполняться до тех пор, пока функция getopt не вернет -1.
  5. Внутри цикла применяем функцию getopt к переменным argc и argv с передачей двух аргументов: ab: в качестве возможных аргументов командной строки.
  6. Полученный результат сохраняем в переменной rez.
  7. С помощью оператора switch проверяем значение переменной rez.
  8. В случае 'a' выводим сообщение found argument \a``.
  9. В случае 'b' выводим сообщение found argument \b = %s``, используя значение optarg.
  10. В случае '?' выводим сообщение Error found !.
  11. После выполнения цикла while завершаем работу программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы