CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
chsize
CHSIZE #include <io.h> требуется только для объявления функции int chsize(handle,size); int handle; handle-р, ссылающийся на открытый файл long size; новая длина файла в байтах Описание. Функция chsize увеличивает или уменьшает файл, связанный с handle-ром, до размера, определяемого аргументом size. Файл дол- жен быть открыт в режиме, который разрешает запись. Если файл увеличивается, к нему добавляются нулевые символы '\0'. Если файл уменьшается, все данные от конца укороченного файла до первона- чальной длины файла теряются. Возвращаемое значение. Функция chsize возвращает значение 0, если файл успешно из- менен. Возвращаемое значение -1 свидетельствует об ошибке и errno устанавливается в одно из следующих значений: ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ EACCES Заданный файл определен только для чтения. Для версий MS DOS 3.0 и старших, EACCES свидетельствует о принудительной блокировке.(Определенный файл заблоки- рован для доступа) EBADF Неверный файловый handle ENOSPC На устройстве не осталось свободного места См.также close, creat, open. Пример: #include <io.h> #include <fcntl.h> #include <sys\types.h> #include <sys\stat.h> #define MAXSIZE 32768L int fh, result; . . . fh=open("data", O_RDWR|O_CREAT, S_IREAD|S_IWRITE); . . . /* перед закрытием файла нужно убедиться, что он ** не длиннее 32К */ if (lseek(fh,LO,2)>MAXSIZE) result=chsize(fh,MAXSIZE); _CLEAR87 #include <float.h> unsigned int _clear87(); получает и очищает слово статуса плавающей точки Описание. Функция _clear87 получает и стирает слово статуса плавающей точки. Слово статуса плавающей точки является комбинацией слова статуса 8087/80287 и других состояний, обнаруживаемых 8087/80287 handler-ом, таких как переполнение и потеря значимости стека пла- вающей точки. Возвращаемое значение. Биты в возвращаемом значении обозначают статус плавающей точки. Смотрите include-файл <float.h> для полного описания би- тов, возвращаемых функцией _clear87. Замечание. Большинство из математических библиотечных функ- ций модифицирует слово статуса 8087/80287 с непредсказуемым ре- зультатом. Возвращаемые значения функций _clear87 и _status87 становятся более достоверными после выполнения нескольких опера- ций с плавающей точкой с известными состояниями слова статуса плавающей точки. См.также _control87, _status87. Пример: #include <stdio.h> #include<float.h> double a = 1e-40,b; float x,y; main() { printf("status=%.4x - clear\n",_clear87()); y = a; /* запомненное в y является неточным и с потерянной значи- мостью */ printf("status=%.4xx - inexact, underflow\n", _clear87()); b = y; /* y является неправильным */ printf("status=%.4x - denormal\n", _clear87()); }