Описания функций »  C++/C (Си) »  Описание функций C (Си) / C++ - stat

Описание функций C (Си) / C++ - stat


#include
#include

int stat(pathname, buffer);
char *pathname; path-имя существующего файла
struct stat *buffer; указатель на строку, принимающую
результаты

Описание.

Функция stat получает информацию о файле или директории,
определенном по pathname, и запоминает ее в структуре, на которую
указывает buffer. Структура stat, объявленная в ,
содержит следующие поля.

Поле Значение

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
#include
#include

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

unsigned int _status87(); получает слово статуса
плавающей точки

Описание.

Функция _status87 получает слово статуса плавающей точки.
Слово статуса плавающей точки является комбинацией 8087/80287
слова статуса и других состояний, обнаруживаемых 8087/80287
handler-ом, таких как переполнение и потеря значимости стека пла-
вающей точки.

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

Биты в возвращаемом значении обозначают статус плавающей
точки. Смотрите include-файл для полного описания би-
тов, возвращаемых функций _status87.

Замечание! Большинство из математических библиотечных функ-
ций модифицируют слово статуса 8087/80287 с непредсказуемыми ре-
зультатами. Возвращаемые значения функций _clear87 и _status87

становятся более достоверными после выполнения нескольких опера-
ций с плавающей точкой с известными сообщениями слова статуса
плавающей точки.
См. также _clear87, _control87.

Пример.

#include
#include

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();
}


16 октября 2007 в 00:00

Поделитесь:

Комментарии (0)

Комментариев еще нет, но мы знаем что у Вас есть мнение о данной статье!

Чтобы оставлять комментарии надо либо выполнить вход, либо очень быстро зарегистрироваться:

или Вход