Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ABORT.docx
Скачиваний:
2
Добавлен:
09.09.2019
Размер:
69.94 Кб
Скачать

Void clearerr(stream);

FILE *stream; указатель на структуру FILE

Описание.

Функция clearerr переустанавливает для потока stream инди-

катор ошибки и индикатор конца файла (EOF) в 0. Индикаторы ошибок

автоматически не очищаются; если для потока установлен индикатор

ошибки, то операции над потоком будут возвращать значения ошибок

до тех пор, пока функции clearerr или rewind не будут вызваны.

См. также функции eof, feof, ferror, perror.

Пример:

#include <stdio.h>

#include <stdlib.h>

FILE *stream;

int c;

/* следующие операторы читают данные из потока и проверяют,

возникла или нет ошибка при чтении. Перед чтением поток должен

быть предварительно открыт */.

if ((c=getc(stream))==EOF)

{ if (ferror(stream))

{ fprintf(stderr, "write error\n");

clearerr(stream);

}

}

CLOSE.

#include <io.h> требуется только для объявления

функции.

int close(handle);

int handle; handle-р, ссылающийся на открытый

файл.

Описание.

Функция close закрывает все файлы, ассоциированные с

handle.

Возвращаемое значение.

Эта функция возвращает 0, если файл успешно закрыт. Возвра-

щаемое значение -1 свидетельствует об ошибке; функция errno уста-

навливается в EBADF, что свидетельствует о неправильном аргументе

handle-ра файла.

См. также chsize, creat, dup, dup2, open, unlink.

Пример:

#include <io.h>

#include <fcntl.h>

int fh;

fh = open("data", O_RDONLY);

.

.

.

close(fh);.

_CONTROL87

#include <float.h>

unsigned int _control87(new,mask); получает слово уп-

равления плавающей

точки

unsigned int new; новые значения

битов слова

управления

unsigned int mask; устанавливаемая

маска для новых

битов слова управ-

ления

Описание.

Функция _control87 получает и устанавливает слово управле-

ния плавающей точки. Слово управления плавающей точки позволяет

изменять в программе режимы точности, округления и бесконечности

для математического пакета программ с плавающей точкой. Исключи-

тельные состояния с плавающей точкой также можно маскировать или

размаскировать, используя для этого функцию _control87.

Если значение для mask равно 0, тогда _control87 получает

слово управления с плавающей точкой. Если mask ненулевая, уста-

навливается новое значение для слова управления следующим обра-

зом: для любого бита равного 1 в mask соответствующий бит в new

используется для обновления слова управления словами. Это записы-

вается так:

fpcntrl=((fpcntrl & ~mask) : (new & mask)),

где fpcntrl является словом управления с плавающей точкой.

Возвращаемое значение.

Биты в возвращаемом значении обозначают состояние управле-

ния с плавающей точкой. См. include-файл <float.h> для полного

описания битов, возвращаемых _control87.

См.также _clear87, _status87.

Пример:

#include <stdio.h>

#include<float.h>

double a = .1;

main()

{

/* получает слово управления */

printf("control=%.4x\n", _control87(0,0));

printf("a*a=.01=%.15e\n",a*a);

/* устанавливает точность в 24 бита */

_control87(PC_24, MCW_PC);

printf("a*a=.01(rounded to 24 bits)=%.15e\n",a*a);

/* восстанавливает к первоначальному умолчанию */

_control87(CW_DEFAULT, 0xffff);

printf("a*a=.01=%.15e\n",a*a);

}

COS-COSH

#include <math.h>

double cos(x); вычисляет косинус x

double cosh(x); вычисляет гиперболический косинус

x

double x; радиан

Описание.

Функции cos и cosh возвращают соответственно косинус и ги-

перболический косинус x.

Возвращаемое значение.

Функция cos возвращает косинус x. Если x большой, в резуль-

тате может возникнуть частичная потеря значимости. В этом случае

cos вырабатывает ошибку PLOSS, но сообщения не печатает. Если x

настолько большой, что теряется общая значимость результата, то

cos печатает сообщение об ошибке TLOSS в stderr и возвращает 0. В

обоих случаях errno устанавливается в ERANGE.

Функция cosh возвращает гиперболический косинус x. Если ре-

зультат большой, cosh возвращает значение HUGE и устанавливает

errno в ERANGE.

Обрaботкa ошибок может быть модифицировaнa при исполь-

зовaнии процедуры matherr.

См.также acos, asin, atan, atan2, matherr, sin, sinh, tan,

tanh.

Пример:

#include <math.h>

double x,y;

.

.

.

y = cos(x);

y = cosh(x);

CPRINTF

#include <conio.h> требуется только для объявления

функции

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]