Set the current position of a file
Synopsis:
#include <stdio.h>
int fsetpos( FILE* fp,
const fpos_t* pos );
Arguments:
- fp
- The stream whose position you want to set.
- pos
- A pointer to a fpos_t object that specifies the new
position for the stream.
You must have initialized the value pointed to by pos by calling
fgetpos()
on the same file.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
Description:
The fsetpos() function sets the current position of the stream
specified by fp according to the value of the
fpos_t object pointed to by pos.
Returns:
0 for success, or nonzero if an error occurs
(errno is set).
Errors:
- EAGAIN
- The O_NONBLOCK flag is set for the file descriptor,
and the process would be delayed in the write operation.
- EBADF
- The file descriptor underlying the stream file isn't open for writing,
or the stream's buffer needed to be flushed and the file isn't open.
- EFBIG
- One of the following:
- An attempt was made to write a file that exceeds the maximum file size.
- The file is a regular file, and an attempt was made to write at or
beyond the offset maximum associated with the corresponding stream.
- EINTR
- The write operation was terminated due to the receipt of a signal;
no data was transferred.
- EINVAL
- The whence argument is invalid.
The resulting file-position indicator would be set to a negative value.
- EIO
- One of the following:
- A physical I/O error has occurred.
- The process is a member of a
background process group attempting to perform a write() to
its controlling terminal, TOSTOP is set, the process is
neither ignoring nor blocking SIGTTOU, and the process
group of the process is orphaned.
- (QNX Neutrino extension) The filesystem resides on a removable media
device, and the media has been forcibly removed.
- ENOSPC
- There was no free space remaining on the device containing the file.
- ENOSYS
- The underlying device is incapable of seeking.
- ENXIO
- A request was made of a nonexistent device, or the request was outside
the capabilities of the device.
- ESPIPE
- The file descriptor underlying the stream is associated with a pipe, FIFO, or socket.
Classification:
ANSI,
POSIX 1003.1
Safety: |
|
Cancellation point |
Yes |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |