Обрезать файл
#include <unistd.h>int ftruncate( int fildes,off_t length );int ftruncate64( int fildes,off64_t length );
libc
Данные функции изменяют размер файла, на который ссылается fildes, равным length байт. Если размер файл изначально превышает length, дополнительные данные удаляются (похоже на использование опции F_FREESP
с fcntl()). Если размер файла изначально меньше length, файл дополняется символами NUL
(похоже на использование опции F_ALLOCSP
с fcntl()).
Значение указателя позиции не изменяется во время вызова ftruncate().
В случае удачного завершения функция ftruncate() function помечает поля файла st_ctime и st_mtime для обновления. Если функция ftruncate() завершена неуспешно, файл не изменяется.
F_ALLOCSP
или F_FREESP
; смотрите fcntl()) не поддерживаются. ftruncate() — POSIX 1003.1; ftruncate64() — Поддержка больших файлов
mmap(), open(), shm_open(), truncate()
Предыдущий раздел: Описание API системной библиотеки