Как пользоваться аргументами argc , argv[] ,функции main - C (СИ)
Формулировка задачи:
И как запустить программу из консоли ? не совсем понимаю , как передать значения в эти аргументы.
Решение задачи: «Как пользоваться аргументами argc , argv[] ,функции main»
textual
Листинг программы
sh-4.2$ cat shit.c && clang shit.c && ./a.out 111 222 333 444 "ghj ghj ghj" #include <stdio.h> #include <stdlib.h> int main(int argc, char ** argv) { int i = 0; char ** p = argv; while (*p) { fprintf(stdout, "argc = %i\t", i++); fprintf(stdout, "argv = %s\n", *p++); } exit(EXIT_SUCCESS); } argc = 0 argv = ./a.out argc = 1 argv = 111 argc = 2 argv = 222 argc = 3 argv = 333 argc = 4 argv = 444 argc = 5 argv = ghj ghj ghj sh-4.2$
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: stdio.h и stdlib.h.
- Определяется функция main, которая является точкой входа в программу. В качестве параметров функции main передаются значения argc (количество аргументов командной строки) и argv (массив указателей на аргументы командной строки).
- Внутри функции main инициализируются две переменные: i (счетчик для перебора аргументов) и p (указатель на первый элемент массива argv).
- Запускается цикл while, который выполняется до тех пор, пока не будет достигнут конец массива argv (т.е. пока не станет равно *p NULL).
- Внутри цикла while выводятся значения argc и argv на экран с помощью функции fprintf. Значение argc увеличивается на единицу после каждой итерации цикла, а значение argv заменяется на следующий элемент массива argv (т.е. на следующий аргумент командной строки).
- После завершения цикла while выполняется оператор exit с кодом EXIT_SUCCESS, что приводит к завершению работы программы.
- При запуске программы с помощью команды
./a.out 111 222 333 444
ghj ghj ghj`` на экран будет выведено: argc = 0 argv = ./a.out argc = 1 argv = 111 argc = 2 argv = 222 argc = 3 argv = 333 argc = 4 argv = 444 argc = 5 argv = ghj ghj ghj
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д