rewind
Перемещает файловый указатель на начало файла.
Синтаксис
void rewind(
FILE *stream
);
Параметры
stream
Указатель на структуру FILE
.
Замечания
Функция rewind
переместит указатель файла, связанный с stream
началом файла. Вызов rewind
аналогичен
(void) fseek(stream, 0L, SEEK_SET );
Однако, в отличие от fseek
этого, rewind
очищает индикаторы ошибок для потока и индикатора конца файла. Кроме того, в отличие от fseek
этого, rewind
не возвращает значение, указывающее, был ли указатель успешно перемещен.
Чтобы очистить буфер клавиатуры, используйте rewind
поток stdin
, связанный с клавиатурой по умолчанию.
Если поток является NULL
указателем, вызывается обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если выполнение разрешено продолжать, эта функция возвращается и errno
имеет значение EINVAL
.
Дополнительные сведения об этих и других кодах ошибок см. в разделе errno
, _doserrno
_sys_errlist
и _sys_nerr
.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
Маршрут | Обязательный заголовок |
---|---|
rewind |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Все версии библиотек времени выполнения языка C.
Пример
// crt_rewind.c
/* This program first opens a file named
* crt_rewind.out for input and output and writes two
* integers to the file. Next, it uses rewind to
* reposition the file pointer to the beginning of
* the file and reads the data back in.
*/
#include <stdio.h>
int main( void )
{
FILE *stream;
int data1, data2;
data1 = 1;
data2 = -37;
fopen_s( &stream, "crt_rewind.out", "w+" );
if( stream != NULL )
{
fprintf( stream, "%d %d", data1, data2 );
printf( "The values written are: %d and %d\n", data1, data2 );
rewind( stream );
fscanf_s( stream, "%d %d", &data1, &data2 );
printf( "The values read are: %d and %d\n", data1, data2 );
fclose( stream );
}
}
Выходные данные
The values written are: 1 and -37
The values read are: 1 and -37