Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 6,7,8 базовый Си.docx
Скачиваний:
4
Добавлен:
16.11.2018
Размер:
117.96 Кб
Скачать

8.4 Аргументы командной строки

В командной строке исполняемого файла, можно передать аргументы, записывая их через пробел. Эти аргументы, которые записаны в командной строке, являютсяфактическими для функции main . Формальные аргументы для функции main создаются ОС. Поэтому в функции main нужно уметь их обрабатывать.

Аргументы (формальные) функции main:

  • argc ( argument count ): количество аргументов командной строки;

  • argv ( argument vector ): указатель на массив строк, содержащий самые аргументы.

Пример 20: программа echo для печати аргументов командной строки,

которые между собой разделены символом _ (чтобы отличить строку результата

от входного).

Если командная строка содержит

C:> echo Главная функция

то программа echo напечатает

C:> echo_Головна_функцiя

Для программы echo операционная система построит такие фактические аргументы:

  • argv [0] всегда именем исполняемого файла.

  • argv [argc] должно быть пустым указателем (NULL).

Пример 21: текст программы echo (вариант 1).

# include

main (int argc, char * argv [])

{Int i;

for (i = 0; i <argc; i + +)

printf ("% s% s", argv [i], (i <argc-1)? "_":"");

printf ("\ n");

return 0;

}

Пример 22: текст программы echo (вариант 2).

# include

main (int argc, char * argv [])

{While (- argc> = 0)

printf ("% s% s", + + + argv, (argc> 1)? "_":"");

printf ("\ n");

return 0;

}

! Аргументы командной строки являются строками.

45