CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
stat
STAT #include <sys\types.h> #include <sys\stat.h> int stat(pathname, buffer); char *pathname; path-имя существующего файла struct stat *buffer; указатель на строку, принимающую результаты Описание. Функция stat получает информацию о файле или директории, определенном по pathname, и запоминает ее в структуре, на которую указывает buffer. Структура stat, объявленная в <sys\stat.h>, содержит следующие поля. Поле Значение st_mode Битовая маска для информации о режиме файла. Бит S_IFDIR устанавливается, если pathname определяет директорий; бит S_IFREG устанавливается, если pathname ссылается на обычный файл. Биты чтения/записи устанавливаются пользователем в соответствии с режимом доступа к файлу. Пользователь выполняет установку битов, используемых для рас- ширения имени файла. st_dev Номер устройства диска, содержащего файл. st_rdev Номер устройства диска, содержащего файл. (аналогично st_dev). st_nlink Всегда 1. st_size Размер файла в байтах. st_atime Время последней модификации файла. st_mtime Время последней модификации файла (аналогично st_atime). st_ctime Время последней модификации файла (аналогично st_atime и st_mtime). В структуре типа stat существуют три дополнительных поля, которые для MS DOS не имеют смысла. Возвращаемое значение. Функция stat возвращает значение 0, если получена информа- ция о статусе файла. Возвращаемое значение -1 свидетельствует об ошибке, и errno устанавливается в ENOENT, т.е. имя файла или path-имя не найдено. См. также access, fstat. Замечание. Если заданный pathname ссылается на устройство, поля размера и времени в структуре stat не имеют осмысленного значения. Пример. #include <sys\types.h> #include <sys\stat.h> #include <stdio.h> struct stat buf; int result; char *args[4]; . . . result = stat("child.exe", &buf); if (result == 0) if (buf.st_mode & S_IEXEC) execv("child.exe", args); _STATUS87 #include <float.h> unsigned int _status87(); получает слово статуса плавающей точки Описание. Функция _status87 получает слово статуса плавающей точки. Слово статуса плавающей точки является комбинацией 8087/80287 слова статуса и других состояний, обнаруживаемых 8087/80287 handler-ом, таких как переполнение и потеря значимости стека пла- вающей точки. Возвращаемое значение. Биты в возвращаемом значении обозначают статус плавающей точки. Смотрите include-файл <float.h> для полного описания би- тов, возвращаемых функций _status87. Замечание! Большинство из математических библиотечных функ- ций модифицируют слово статуса 8087/80287 с непредсказуемыми ре- зультатами. Возвращаемые значения функций _clear87 и _status87 становятся более достоверными после выполнения нескольких опера- ций с плавающей точкой с известными сообщениями слова статуса плавающей точки. См. также _clear87, _control87. Пример. #include <stdio.h> #include <float.h> double a = 1e-40, b; float x,y; main() { printf("status=%.4x-clear\n",_status87()); /* запомненное в y является неточным и с потерянной значи- мостью */ y = a; printf("status=%.4x-inexect,underflow\n", _status87()); /* y неверно */ b = y; printf("status=%.4x-inexect,underflow,denormal\n", _status87()); /* очистка пользователем 8087 статуса */ _clear87(); }