Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
реклама
Получите квалифицированную консультацию юриста по жилищным вопросам.

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Аргументы функции 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;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
+3 / -5
Мне нравитсяМне не нравится
27 октября 2005, 13:59:58
для ruford : лучше не getchar() а getch() содержится в conio.h
2.
Аноним
+1 / -6
Мне нравитсяМне не нравится
2 марта 2005, 23:50:04
И пичём тут Borland C++
3.
Аноним
+3 / -11
Мне нравитсяМне не нравится
20 декабря 2004, 10:51:10
В листинг нужно добавить getchar(); перед return 0; чтобы окно при выполнении программы сразу не закрывалось
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог