Set the current position of a file
#include <stdio.h>
int fsetpos( FILE* fp,
const fpos_t* pos );
- 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.
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
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.
0 for success, or nonzero if an error occurs
(errno is set).
- 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.
- An attempt was made to write a file that exceeds the process's
file size limit.
- 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.
- ENXIO
- A request was made of a nonexistent device, or the request was outside
the capabilities of the device.
- ESPIPE
- The file descriptor underlying stream is associated with a pipe or FIFO.
- ENOSYS
- The underlying device is incapable of seeking.
See fgetpos().
ANSI,
POSIX 1003.1
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |
errno,
fgetpos(),
fopen(),
fseek(),
ftell()