Поделиться через


_chsize_s

Изменяет размер файла. Эта функция представляет собой версию улучшений _chsize безопасности, как описано в функциях безопасности в CRT.

Синтаксис

errno_t _chsize_s(
   int fd,
   __int64 size
);

Параметры

fd
Дескриптор файла, ссылающийся на открытый файл.

size
Новая длина файла в байтах.

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

_chsize_s возвращает значение 0, если размер файла успешно изменен. Ненулевое возвращаемое значение указывает на ошибку: возвращается значение EACCES, если доступ к указанному файлу заблокирован, EBADF, если указанный файл доступен только для чтения или используется недопустимый дескриптор, ENOSPC, если места на устройстве недостаточно, или EINVAL, если размер файла меньше нуля. errno принимает такое же значение.

Дополнительные сведения об этих и других кодах возврата см. в разделе errno, _doserrnoи _sys_nerr_sys_errlist.

Замечания

Функция _chsize_s расширяет или усекает файл, связанный с fd, до длины, указанной size. Файл должен быть открыт в режиме, позволяющем выполнять запись. Если файл доступен для расширения, к нему добавляются нули ('\0'). Если файл усекается, все данные в конце сокращенного файла усекаются до длины исходного файла.

_chsize_s принимает размер файла, выраженный 64-разрядным целым числом, и, таким образом, позволяет обрабатывать размеры файлов больше 4 ГБ. _chsize ограничивается 32-разрядными размерами файлов.

Эта функция проверяет свои параметры. Если fd недопустимый дескриптор файла или размер меньше нуля, вызывается обработчик недопустимых параметров, как описано в разделе проверки параметров.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок Необязательный заголовок
_chsize_s <io.h> <errno.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Обработка файлов
_chsize
_close
_creat, _wcreat
_open, _wopen