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

См. также

Потоковый ввод-вывод