Вернуть файловый поток в начало файла
#include <stdio.h>void rewind( FILE *fp );
libc
Функция rewind() перематывает файловый поток, указанный в fp, в начало файла. Эквивалентно вызову fseek() следующим образом:
fseek( fp, 0L, SEEK_SET );
за исключением того, что индикатор ошибки для потока очищается.
В этом примере показано, как можно реализовать двухпроходный ассемблер:
#include <stdio.h>#include <stdlib.h>void assemble_pass( FILE *fp, int passno ){printf( "Pass %d\n", passno );/* Do more work on the fp */switch( passno ){case 1:/* do the first-pass work */break;case 2:/* do the second-pass work */break;default:break;}}int main( void ){FILE *fp;fp = fopen( "program.s", "r" );if ( fp != NULL ){assemble_pass( fp, 1 );rewind( fp );assemble_pass( fp, 2 );fclose( fp );return (EXIT_SUCCESS);}puts( "Error opening program.s" );return (EXIT_FAILURE);}
ANSI, POSIX 1003.1
Предыдущий раздел: Описание API системной библиотеки