fsetpos
raw OCR
Positions the file pointer of a stream.
Defined in header <stdio.h>
Syntax
#include <stdio.h>
int fsetpos(FILE *stream, const fpos_t *pos);
Portability
| DOS | UNIX | Windows | ANSI C | C++ only |
|---|---|---|---|---|
| ■ | ■ | ■ |
Remarks
fsetpos sets the file pointer associated with stream to a new position. The new position is the value obtained by a previous call to fgetpos on that stream. It also clears the end-of-file indicator on the file that stream points to and undoes any effects of ungetc on that file. After a call to fsetpos, the next operation on the file can be input or output.
Return value
On success, fsetpos returns 0. On failure, it returns a nonzero value and also sets the global variable errno to a nonzero value.
See also
Example
#include <stdlib.h>
#include <stdio.h>
void showpos(FILE *stream);
int main (void)
{
FILE *stream;
fpos_t filepos;
/* open a file for update */
stream = fopen( "DUMMY.FIL", "w+");
/* save the file pointer position */
fgetpos (stream, &filepos);
/* write some data to the file */
fprintf (stream, "This is a test");
/* show the current file position */
showpos (stream);
/* set a new file position and display it */
if (fsetpos(stream, &filepos) == 0)
showpos (stream);
else {
fprintf (stderr, "Error setting file pointer.\n");
exit(l);
}
/* close the file */
fclose (stream);
return 0;
}
void showpos (FILE *stream) {
fpos_t pos;
/* display the current file pointer position of a stream */
fgetpos (stream, &pos);
printf ("File position: %ld\n", pos);
Differences from modern implementations
Nothing recorded yet.
Modern references
These are search links, not yet checked by hand.
Stable link: /3.1/stdio.h/fsetpos/
· short form /3.1/fsetpos/