Поделиться через


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.

Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.

Требования

Подпрограмма

Обязательный заголовок

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 );
   }
}

Output

The values written are: 1 and -37
The values read are: 1 and -37

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

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