ftruncate -- Truncate a File

SYNOPSIS
#include <unistd.h>
int ftruncate(int fn, off_t length);
DESCRIPTION
ftruncate
truncates an OpenEdition file open for write
access to length
in bytes. fn
is the file descriptor for
the file to be truncated. ftruncate
does not change the current
file position.
RETURN VALUE
ftruncate
returns a 0 if it is successful
and a - 1 if it is not successful.
IMPLEMENTATION
Data beyond the end of the truncated file are lost. If the file size
is smaller than the specified length
, the file is unchanged.
EXAMPLE
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
main()
{
FILE *testfile;
int fd, long size;
char flname[] ="trunc.test";
if ((fd=creat(flname,S_IRUSR1)) < 0)
perror("creat() error");
else {
if ((testfile = fdopen(fd, "w")) == NULL) {
perror("fdopen() error");
close(fd);
}
}
fputs("ABCDEFGHIJKLMNOPQRSTUVWXYZ",testfile);
fflush(testfile);
size = lseek(fd, 0, SEEK_END);
printf("The file is %ld bytes long.n", size);
if (ftruncate(fd, 3) !=0)
perror("ftruncate() error");
else {
size = lseek(fd, 0, SEEK_END);
printf("The file is now %ld bytes long.n", size);
}
fclose(testfile);
unlink(flname);
}
SEE ALSO