| TRUNCATE(2) | System Calls Manual | TRUNCATE(2) | 
truncate, ftruncate —
#include <unistd.h>
int
  
  truncate(const
    char *path, off_t
    length);
int
  
  ftruncate(int
    fd, off_t
  length);
truncate() causes the file named by
  path or referenced by fd to have a
  size of length bytes. If the file previously was larger
  than this size, the extra data is discarded. If it was previously shorter than
  length, its size is increased to the specified value and
  the extended area appears as if it were zero-filled.
With ftruncate(), the file must be open
    for writing; for truncate(), the process must have
    write permissions for the file.
truncate() and
  ftruncate() are:
EINVAL]EIO]EISDIR]ENOSPC]EROFS]ETXTBSY]Error codes specific to truncate()
  are:
EACCES]EFAULT]ELOOP]ENAMETOOLONG]NAME_MAX}
      characters, or an entire path name exceeded
      {PATH_MAX} characters.ENOENT]ENOTDIR]Error codes specific to ftruncate()
  are:
truncate() to extend a file is an
  IEEE Std 1003.1-2004 (“POSIX.1”)
  extension, and is thus not portable. Files can be extended in a portable way
  seeking (using lseek(2)) to the
  required size and writing a single character with
  write(2).
truncate() and ftruncate()
  function calls appeared in 4.2BSD.
| July 23, 2014 | NetBSD 9.4 |