- •Void abort();
- •Int errno;
- •26 Символов и имеет форму, приведенную ниже в примере:
- •Int errno;
- •Void assert(expression);
- •Int n; целый порядок
- •Int (*compare)(); указатель на функцию сравнения
- •0 Element1 равен element2
- •Int compare();
- •Int argc;
- •Int numread;
- •Int chdir(pathname);
- •Void clearerr(stream);
- •Int cprintf(format-string[,argument...]);
- •Int result;
- •Int mark[10000];
- •If(!mark[n]) {
- •Int dosexterr(buffer);
- •Int exterror;
- •Int fh, count;
- •Int result;
Int result;
args[0] = "child";
args[1] = "one";
args[2] = "two";
args[3] = NULL;
/* все следующие операторы позволяют выполнять процесс,
названный "child.exe", и передать ему три аргумента. */
result = execl("child.exe", "child", "one", "two",
NULL);
result = execle("child.exe", "child", "one", "two",
NULL, environ);
result = execlp("child.exe", "child", "one", "two",
NULL);
result = execv("child.exe", args);
result = execve("child.exe", args, environ);
result = execvp("child.exe", args);.
EXIT - _EXIT
#include <process.h> требуется только для объявления
функции
#include <stdlib.h> использует либо <process.h>,
либо <stdlib.h>
void exit(status); завершает процесс после закры-
тия файла
void _exit(status); завершает процесс без обновле-
ния буферов потока
int status; статус выхода
Описание.
Функции exit и _exit завершают вызванный процесс. Перед за-
вершением процесса функция exit обновляет все буферы и закрывает
все открытые файлы. Функция _exit завершает все процессы без об-
новления буферов потока. Значение status обычно устанавливается в
0 для указания нормального выхода и устанавливается в любое дру-
гое значение для определения ошибки. Поскольку вызовы exit и
_exit не возвращают значения, младший байт status является возв-
ратом для ожидающего parent-процесса. Если нет parent-процесса,
то значение status теряется.
Возвращаемое значение.
Возвращаемого значения нет.
См.также abort, execl, execle, execlp, execv, execve,
execvp, onexit, spawnl, spawnle, spawnlp, spawnv, spawnve,
spawnvp, system.
Пример:
#include <process.h>
#include <stdio.h>
FILE *stream;
.
.
.
/* следующие операторы вызывают завершение процесса после
обновления буферов и закрытия открытых файлов */
if((stream=fopen("data","r"))==NULL) {
fprintf(stderr,"couldn't open data file\n");
exit (1);
}
/* следующие операторы вызывают немедленное завершение про-
цесса, если файл не может быть открытым */
if((stream=fopen("data","r"))==NULL)
{
fprintf(stderr,"couldn't open data file\n");
_exit (1);
}
EXP
#include <math.h>
double exp(x);
double x; значение с плавающей точкой
Описание.
Функция exp возвращает экспоненциальную функцию своего ар-
гумента x с плавающей точкой.
Возвращаемое значение.
Функция exp возвращает e в степени x. При переполнении фун-
кция возвращает HUGE и устанавливает errno в ERANGE, при потере
значимости exp возвращает 0, но не устанавливает errno.
См.также log.
Пример:
#include <math.h>
double x,y;
.
.
.
y = exp(x);.
_EXPAND
#include <malloc.h> требуется только для объявления
функции
char *_expand(ptr,size);
char *ptr; указатель на ранее захваченный
блок памяти
unsigned size; новый размер в байтах
Описание.
Функция _expand изменяет размер ранее захваченных блоков
памяти, пытаясь расширить или сузить блок без передвижения его
местоположения в heap.
Аргумент ptr указывает на начало блока. Аргумент size зада-
ет новый размер блока в байтах. Содержимое блоков не изменяется.
Аргумент ptr также указывает на освобождающийся блок до тех
пор, пока не будут внешне вызваны calloc, _expand, halloc, malloc
или realloc, либо пока блок будет свободен.
Если ptr указывает на освобожденный блок, то этот блок ос-
тается свободным и после вызова _expand.
Возвращаемое значение.
Функция _expand возвращает char-указатель на перезахвачен-
ный блок памяти. В отличии от realloc, _expand не может передви-
гать блок и изменять его размеры. Это означает, что аргумент ptr
для _expand является тем же самым, что и возвращаемое значение,
если памяти достаточно, чтобы расширить блок без его передвиже-
ния.
Возвращается значение NULL, если памяти недостаточно для
расширения блока. В этом случае объект, на который указывает ptr,
будет расширен настолько, насколько позволяет его расположение.
В памяти, на которую указывает возвращаемое значение, га-
рантировано выравнивание для хранения любого типа объекта.
Новый размер объекта может быть проверен функцией _msize.
Чтобы получить указатель, тип которого отличен от char, ис-
пользуется преобразователь типа возвращаемого значения.
См.также calloc, free, halloc, malloc, _msize, realloc.
Пример:
#include <stdio.h>
#include <malloc.h>
main()
{
long *oldptr;
unsigned int newsize=64000;
oldptr=(long*)malloc(10000*sizeof(long));
printf("Size of memory block pointed to by
oldptr=%u\n", _msize(oldptr));
if (_expand(oldptr,newsize)!= NULL)
printf("expand was able to increase block
to %u\n", _msize(oldptr));
else
printf("expand was able to increase block to
only %u\n", _msize(oldptr));
}