#include <stdio.h> void rewind(FILE *f);
rewind
positions the stream associated with the FILE
object addressed by f
to its first character. It also resets
the error flag for the stream if it is set.
rewind
has no return value.
#include <stdio.h> #define RECLEN 80 FILE *f; /* file to be searched */ char *search(int); /* prototype of the search function */ main() { int n ; /* The record number to be found */ /* points to the address of a copy of */ /* the returned record. */ char *addr; /* Ask the user for the number of the record to */ /* be found. */ puts("Which record do you want to read?"); scanf("%d", &n); addr = search(n); printf("The record is %sn", *addr); } /* performs the search and rewind of the file f */ char *search(int n){ char *record; /* points to a copy of the record */ int i; while (!feof(f)) { /* Read the records until the nth one is found. */ for (i=0; i <= n; i++) afread(record, RECLEN, 1, f); } /* Reposition the stream to the top of f. */ rewind(f); /* Return the address of the copy of the record. */ return record; }
fseek
, fsetpos
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.