chsize
![]() |
![]() |
![]() |
![]() |
chsize()
Change the size of a file
Synopsis:
#include <unistd.h>
int chsize( int filedes,
long size );
Arguments:
- filedes
- A file descriptor for the file whose size you want to change.
- size
- The new size of the file, in bytes.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The chsize() function extends or truncates the file specified by filedes to size bytes The file is padded with NUL ('\0') characters if it needs to be extended.
Returns:
- 0
- Success.
- -1
- An error occurred.
Errors:
- EBADF
- The filedes argument isn't a valid file descriptor, or the file isn't opened for writing.
- ENOSPC
- There isn't enough space left on the device to extend the file.
- ENOSYS
- The chsize() function isn't implemented for the filesystem specified by filedes.
Examples:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
int main( void )
{
int filedes;
filedes= open( "file", O_RDWR | O_CREAT,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP );
if( filedes!= -1 ) {
if( chsize( filedes, 32 * 1024L ) != 0 ) {
printf( "Error extending file\n" );
}
close( filedes);
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
}
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
close(), creat(), errno, ftruncate(), open()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)

