rewind()

Вернуть файловый поток в начало файла

Прототип:

#include <stdio.h>
void rewind( FILE *fp );

Аргументы:

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

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

clearerr(), fopen(), fseek()




Предыдущий раздел: Описание API системной библиотеки