Параметры командной строки функции main

В стандарте ANSI функция main возвращает целочисленный результат, т.е. используется следующим образом:

int main () {

¼

return 0;

}

здесь оператор return возвращает операционной системе код завершения функции, причем значение 0 трактуется как нормальное завершение, остальные значения воспринимаются как ошибки.

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

int main (int argc, char *argv[]) ...

Параметр argc имеет тип int, его значение формируется из анализа командной строки и равно количеству слов в командной строке, включая и имя вызываемой функции. Параметр argv – это массив указателей на строки, каждая из которых содержит одно слово из командной строки. Если слово должно содержать символ пробел, то при записи его в командную строку оно должно быть заключено в кавычки.

Функция main может иметь и третий параметр argp, который служит для передачи параметров операционной системы (ОС), в которой выполняется программа, в этом случае ее заголовок имеет вид

int main (int argc, char *argv[], char *argp[])

Операционная система поддерживает передачу значений для параметров argc, argv, argp, а пользователь отвечает за передачу и использование фактических аргументов функции main.

Приведем пример программы печати фактических аргументов, передаваемых из ОС в функцию main и параметров оперативной системы.

int main ( int argc, char *argv[], char *argp[])

{

int i;

printf ("\n Program Name %s", argv[0]);

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

printf ("\n Argument %d = %s", i, argv[i]);

printf ("\n OC parametrs: ");

while (*argp) {

printf ("\n %s", *argp);

argp++;

}

return 0;

}

Очевидно, что оформленная таким образом функция main() может вызываться рекурсивно из любой функции.

 








Дата добавления: 2015-09-11; просмотров: 714;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.