CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
clearerr
CLEARERR #include <stdio.h> 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); }