Интерпретация командной строки - 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; } } }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с командной строкой и для работы с памятью.
- Объявляем функцию main, которая принимает два аргумента: int argc и char *argv[].
- Создаем переменную rez, которая будет хранить результат работы функции getopt.
- Запускаем цикл while, который будет выполняться до тех пор, пока функция getopt не вернет -1.
- Внутри цикла применяем функцию getopt к переменным argc и argv с передачей двух аргументов:
ab:
в качестве возможных аргументов командной строки. - Полученный результат сохраняем в переменной rez.
- С помощью оператора switch проверяем значение переменной rez.
- В случае 'a' выводим сообщение
found argument \
a``. - В случае 'b' выводим сообщение
found argument \
b = %s``, используя значение optarg. - В случае '?' выводим сообщение
Error found !
. - После выполнения цикла while завершаем работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д