Прототип функции rewind:
void rewind ( FILE * filestream );
Заголовочный файл
| Название | Язык |
|---|---|
| stdio.h | С |
| cstdio | С++ |
Описание
Устанавливает внутренний указатель положения файла в начальное положение (начало файла).
Эквивалентный вызов функции fseek для возвращения указателя на начало:
fseek( stream , 0L , SEEK_SET );
Не маловажным отличием данных функций является то, что, в отличие от функции fseek, rewind обнуляет индикатор ошибок.
Для потоков, открытых в режиме обновления (чтения + записи), вызов функции rewind позволяет переключаться между режимами чтения и записи.
Параметры:
- filestream
Указатель на объект типаFILE, идентифицируемый поток.
Возвращаемое значение
нет
Пример: исходный код программы
//пример использования rewind
#include <cstdio>
#include <iostream>
int main()
{
FILE * ptrFile = fopen("file.txt","w+");
char buffer [27];
for(int counter = 'A'; counter <= 'Z' ; counter++)
fputc( counter, ptrFile); // записать символ в файл
rewind(ptrFile); // установить внутренний указатель файла в начало
fread(buffer, 1, 26, ptrFile); //считать из файла 26 символов и сохранить в буфер
fclose (ptrFile); //закрыть файл
buffer[26]='\0'; //звершить строку
puts(buffer); //вывод на экран
return 0;
}
Пример работы программы
Файл file.txt созданный для чтения и записи, сначала заполняется алфавитом. Затем содержимое файла считывается в буфер для дальнейшего вывода в стандартный поток:
CppStudio.com
ABCDEFGHIJKLMNOPQRSTUVWXYZ