Spec-Zone.ru › C++

std::rewind

Определено в заголовочном файле <cstdio>
void rewind( std::FILE* stream );

Перемещает указатель позиции файла в начало заданного потока файла.

Функция эквивалентна std::fseek(stream, 0, SEEK_SET);, за исключением того, что индикаторы конца файла и ошибки сбрасываются.

Функция отменяет любые эффекты предыдущих вызовов ungetc.

Параметры

stream - поток файла для изменения

Возвращаемое значение

(нет)

Пример

#include <array>
#include <cstdio>
 
int main()
{
    std::FILE* f = std::fopen("file.txt", "w");
    for (char ch = '0'; ch <= '9'; ch++)
        std::fputc(ch, f);
    std::fclose(f);
 
    std::array<char, 20> str;
    std::FILE* f2 = std::fopen("file.txt", "r");
 
    const unsigned size1 = std::fread(str.data(), 1, str.size(), f2);
    std::puts(str.data());
    std::printf("size1 = %u\n", size1);
 
    std::rewind(f2);
 
    const unsigned size2 = std::fread(str.data(), 1, str.size(), f2);
    std::puts(str.data());
    std::printf("size2 = %u", size2);
 
    std::fclose(f2);
}

Вывод:

0123456789
size1 = 10
0123456789
size2 = 10

См. также

fseek
перемещает указатель позиции файла в определенное место в файле
(функция)
C документация для rewind

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/c/rewind

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API