Truncate a file
#include <unistd.h> int ftruncate( int fildes, off_t length ); int ftruncate64( int fildes, off64_t length );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
These functions cause the file referenced by fildes to have a size of length bytes. If the size of the file previously exceeded length, the extra data is discarded (this is similar to using the F_FREESP option with fcntl()). If the size of the file was previously shorter than length, the file size is extended with NUL characters (similar to the F_ALLOCSP option to fcntl()).
The value of the seek pointer isn't modified by a call to ftruncate().
Upon successful completion, the ftruncate() function marks the st_ctime and st_mtime fields of the file for update. If the ftruncate() function is unsuccessful, the file is unaffected.
Zero for success, or -1 if an error occurred (errno is set).
ftruncate() is POSIX 1003.1; ftruncate64() is Large-file support
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
mmap(), open(), shm_open(), truncate()