Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek11.doc
Скачиваний:
14
Добавлен:
15.11.2018
Размер:
139.78 Кб
Скачать

14.7 Командная строка аргументов

В языках C/C++ имеются средства ввода данных посредством командной строки. Аргументами командной строки называются числовые или строковые значения, которые указываются пользователем вслед за именем приложения при запуске его из командной строки.

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

имя_программы аргумент1, аргумент2 ...

Аргументы командной строки обрабатываются в функции main(),котoрая принимает два параметра: argc и argv[ ]. Целочисленный параметр argc содержит число аргументов командной строки плюс 1 — с учетом имени программы, которое, в принципе, тоже является аргументом.

Вторым параметром является указатель на массив строковых указателей.

Все аргументы представляют собой строки, поэтому массив argv[ ] имеет тип char*. Имена параметров — argc и argv— не являются стандартными элементами языка, но называть их именно так — общепринятое соглашение, широко применяемое большинством программистов на C/C++.

Аргументы, задаваемые в командной строке, всегда передаются в программу в виде наборов символов, что облегчает работу с ними. В следующей программе на языке С от пользователя ожидается ввод в командной строке ряда аргументов. При запуске программы проверяется значение параметра argc. Если оно меньше двух, то пользователю будет предложено перезапустить программу. /* * sargv.c * Эта программа на языке С демонстрирует процесс * считывания строковых аргументов командной строки. */ #include ‹stdio.h› #include ‹process.h› int main(int argc, char *argv[]) { int t; if(argc < 2) { printf("Необходимо ввести несколько аргументов командной строки.\n"); printf("Повторите запуск программы.\n"); exit (1); forft =1; t < argc; t++) . printf("Аргумент№%d — %s\n", t, argv[t] ); exit(0); } Все аргументы, введенные в командной строке, выводятся на экран в той же последовательности. Если были введены числовые значения, они все равно будут рассматриваться как ASCII-символы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]