Аргументы функции main()
В языке C заданы два встроенных аргумента функции main: argc и argv.
Выглядит это так:
int main(int argc, char *argv[]) {...}
Аргумент argc типа integer содержит в себе количество аргументов командной строки.
Аргумент argv типа char - указатель на массив строк. Каждый элемент массива указывает на аргументы командной строки. Один параметр отделяется от другого пробелами.
- argv[0] - полное имя запущенной программы
- argv[1] - первая строка записаная после имени программы
- argv[2] - вторая строка записаная после имени программы
- argv[argc-1] - последняя строка записаная после имени программы
- argv[argc] - NULL
В средах разработки фирмы Borland (Borland Builder C++, Borland C++ и т.п.) предусмотрен еще и третий аргумент env, который, так же как и argv является указателем на массив строк, но содержит установки среды:
int main(int argc, char *argv[], char *env[]) {...}
Если необходимо в качестве параметра иметь строку, содержащую пробелы, то ее надо заключить в двойные кавычки. Если аргументом является число, то оно рассматривается как строка. Для работы с ним, как с числом необходимо его преобразовать, используя соответствующую функцию.
Пример:
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char *argv[], char *env[]) {
int i;
printf("Количество аргументов командной строки %d \n", argc);
printf("Аргументы командной строки:\n);
for (i = 0; i < argc; i++)
printf("%s\n", argv[i]);
printf("\nАргументы состояния среды:\n");
for (i = 0; env[i] != NULL; i++)
printf("%s\n", env[i]);
return 0;
}
Оставить комментарий
Комментарии






