truncate(2)truncate(2)NAME
ftruncate, truncate - truncate a file to a specified length
SYNOPSISDESCRIPTION
The function causes the regular file referenced by fildes to have a
size of length bytes.
The function causes the regular file named by path to have a size of
length bytes.
The effect of and on other types of files is unspecified. If the file
previously was larger than length, the extra data is lost. If it was
previously shorter than length, bytes between the old and new lengths
are read as zeroes. With the file must be open for writing; for the
process must have write permission for the file.
If the request would cause the file size to exceed the soft file size
limit for the process, the request will fail and the implementation
will generate the signal for the process.
These functions do not modify the file offset for any open file
descriptions associated with the file. On successful completion, if
the file size is changed, these functions will mark for update the
st_ctime and st_mtime fields of the file, and if the file is a regular
file, the and bits of the file mode may be cleared.
RETURN VALUE
Upon successful completion, returns 0. Otherwise a −1 is returned, and
is set to indicate the error.
ERRORS
If or fails, is set to one of the following values:
A signal was caught during execution.
The length argument was less than 0.
[EFBIG] or [EINVAL] The length argument was greater than the
maximum file size.
An I/O error occurred while reading from or writing to a file
system.
Enforcement mode file/record locking is set (see
chmod(2)), and there are outstanding
record locks on the file with the or sys‐
tem calls.
If fails, is set to one of the following values:
[EBADF] or [EINVAL] The fildes argument is not a file
descriptor open for writing.
The user's disk quota block limit has been reached for this file
system.
The fildes argument references a file that
was opened without write permission.
If fails, is set to one of the following values:
A component of the path prefix denies search permission, or
write permission is denied on the file.
The user's disk quota block limit has been reached for this file
system.
path points outside the process's allocated
address space. The reliable detection of
this error is implementation dependent.
The named file is a directory.
Too many symbolic links were encountered in resolving
path.
Pathname resolution produced an intermediate result
whose length exceeds bytes, or the length
of a component of the pathname exceeds
bytes.
A component of does not name an existing file or path is
an empty string.
A component of the path prefix of path is not a directory.
The named file resides on a read-only file system.
The file is a pure procedure (shared text) file that is being
executed.
AUTHOR
was developed by the University of California, Berkeley.
SEE ALSOchmod(2), fcntl(2), flock(2), ftruncate64(2), lockf(2), open(2), trun‐
cate64(2), privileges(5), <unistd.h>.
CHANGE HISTORY
First released in Issue 4, Version 2.
STANDARDS CONFORMANCEtruncate(): AES ftruncate(): AES, SVID3
truncate(2)