пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Передача параметров из операционной среды. Аргументы командной строки

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

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

Аргумент argv[0] всегда содержит имя командной строки, поэтому значение argc на 1 превышает количество передаваемых аргументов. Аргументы командной строки могут задавать, например, режимы работы, имена файлов и другие данные для программы и отделяются друг от друга пробелами. (Если пробел должен быть представлен в аргументе, аргумент заключается в кавычки).

Полный заголовок функции main() имеет вид:

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

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

Иногда при запуске программы бывает полезно передать ей какую-либо информацию. Обычно такая информация передается функции main()с помощью аргументов командной строки. Аргумент командной строки — это информация, которая вводится в командной строке операционной системы вслед за именем программы. Например, чтобы запустить компиляцию программы, необходимо в командной строке после подсказки набрать примерно следующее:

cc имя_программы

имя_программы представляет собой аргумент командной строки, он указывает имя той программы, которую вы собираетесь компилировать.

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

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

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

Аргумент argv[0] всегда содержит имя командной строки, поэтому значение argc на 1 превышает количество передаваемых аргументов. Аргументы командной строки могут задавать, например, режимы работы, имена файлов и другие данные для программы и отделяются друг от друга пробелами. (Если пробел должен быть представлен в аргументе, аргумент заключается в кавычки).

Полный заголовок функции main() имеет вид:

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

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

 


17.06.2016; 07:03
хиты: 99
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь