Скачать презентацию АРГУМЕНТЫ ФУНКЦИИ MAIN ARGV И ARGC Скачать презентацию АРГУМЕНТЫ ФУНКЦИИ MAIN ARGV И ARGC

9.5_Аргументы функции main.pptx

  • Количество слайдов: 10

АРГУМЕНТЫ ФУНКЦИИ MAIN(): ARGV И ARGC АРГУМЕНТЫ ФУНКЦИИ MAIN(): ARGV И ARGC

 Чтобы принять аргументы командной строки, используются два специальных встроенных аргумента: argc и argv. Чтобы принять аргументы командной строки, используются два специальных встроенных аргумента: argc и argv. Параметр argc содержит количество аргументов в командной строке и является целым числом, причем он всегда не меньше 1, потому что первым аргументом считается имя программы. А параметр argv является указателем на массив указателей на строки. В этом массиве каждый элемент указывает на какой-либо аргумент командной строки. Все аргументы командной строки являются строковыми, поэтому преобразование каких бы то ни было чисел в нужный двоичный формат должно быть предусмотрено в программе при ее разработке.

#include <stdio. h> #include <stdlib. h> int main(int argc, char *argv[]) { if(argc!=2) { #include #include int main(int argc, char *argv[]) { if(argc!=2) { printf("Вы забыли ввести свое имя. n"); exit(1); } printf("Привет %s", argv[1]); return 0; }

Во многих средах все аргументы командной строки необходимо отделять друг от друга пробелом или Во многих средах все аргументы командной строки необходимо отделять друг от друга пробелом или табуляцией. Запятые, точки с запятой и тому подобные символы разделителями не считаются. Например, run Spot, run состоит из трех символьных строк, в то время как Эрик, Рик, Фред представляет собой одну символьную строку — запятые, как правило, разделителями не считаются.

Очень важно правильно объявлять argv. Вот как это делают чаще всего: char *argv[]; Очень важно правильно объявлять argv. Вот как это делают чаще всего: char *argv[];

 Другим небольшим примером использования аргументов командной строки является приведенная далее программа countdown(счет в Другим небольшим примером использования аргументов командной строки является приведенная далее программа countdown(счет в обратном порядке). Эта программа считает в обратном порядке, начиная с какого-либо значения (указанного в командной строке), и подает звуковой сигнал, когда доходит до 0.

/* Программа счета в обратном порядке. */ #include <stdio. h> #include <stdlib. h> #include /* Программа счета в обратном порядке. */ #include #include #include #include int main(int argc, char *argv[]) { int disp, count; if(argc<2) { printf("В командной строке необходимо ввести число, с которогоn"); printf("начинается отсчет. Попробуйте снова. n"); exit(1); }

 if(argc==3 && !strcmp(argv[2], if(argc==3 && !strcmp(argv[2], "display")) disp = 1; else disp = 0; for(count=atoi(argv[1]); count; --count) if(disp) printf("%dn", count); putchar('a'); /* здесь подается звуковой сигнал */ printf("Счет закончен"); return 0; }

Чтобы получить доступ к отдельному символу одного из аргументов командной строки, введите в argv Чтобы получить доступ к отдельному символу одного из аргументов командной строки, введите в argv второй индекс. Например, следующая программа посимвольно выводит все аргументы, с которыми ее вызвали: #include int main(int argc, char *argv[]) { int t, i; for(t=0; t

 Имена argc и argv являются традиционными, но не обязательными. Эти два параметра в Имена argc и argv являются традиционными, но не обязательными. Эти два параметра в функции main() вы можете назвать как угодно. Кроме того, в некоторых компиляторах для main() могут поддерживаться дополнительные аргументы, поэтому обязательно изучите документацию к вашему компилятору. Когда для программы не требуются параметры командной строки, то чаще всего явно декларируют функцию main() как не имеющую параметров. В таком случае в списке параметров этой функции используют ключевое слово void.