Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 04.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
83.46 Кб
Скачать

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

{

int i;

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

printf("%s%c",argv[i],(i<argc-1)?' ':'\n');

}

Второй пример демонстрирует печать, как аргументов командной строки, так и печать переменных среды окружения. При этом аргументы argv и envp описываются другим допустимым способом.

#include <stdio.h>

Void main(int argc, char ** argv, char ** envp)

{

int i;

char ** p;

// печать значений параметов

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

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

// печать значений переменных среды окружения

for(p=envp; *p!=(char *)0; p++)

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

}

Для получения информации о переменных среды окружения пользователь может применить функцию getenv. имеющий следующий прототип

#include <stdlib.h>

char * getenv(const char *varname)

Функция возвращает значение на строку, содержащую значение переменной среды окружения varname. В случае неуспеха (нет такой переменной) возвращается

значение NULL или указатель на пустую строку (в зависимости от версии системы). Ниже приведена программа, использующая эту функцию:

#include <iostream.h>

#include <stdlib.h>

#include <conio.h>

Void main(void)

{

cout << "\n" << getenv("CLIPPER");

getch();

}

Если в пространстве переменных среды окружения есть предложение

CLIPPER=F90;E0

то будет напечатано:

F90;E0

В нижеприведенном примере происходит суммирование последовательности

целых чисел, задаваемых в командной строке и вывод значения полученной суммы

на экран.

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

{

int i, s=0;

clrscr();

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

s+=atoi(argv[i]);

printf("%d",s);

getch();

}