首页 > 编程笔记

C语言rewind():移动位置指针到文件开头

rewind() 是 C语言的一个标准库函数,定义在<stdio.h>头文件中。

rewind() 函数的功能是将文件位置指针移动到文件的开始位置,等同于fseek(stream, 0L, SEEK_SET);,但更简洁。另外,除了将文件位置指针重置到文件开头,rewind() 还会清除文件错误标志。

rewind() 函数的原型如下:
void rewind(FILE *stream);

参数

stream:为文件指针,也就是目标文件。

返回值

rewind() 没有返回值。

【实例】以下是一个使用 C语言 rewind() 函数的示例代码,该代码打开一个文件,写入一些内容,然后使用 rewind() 返回到文件的开头,并读取刚才写入的内容。
#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w+");

    if (file == NULL) {
        printf("Error opening file!\n");
        return 1;
    }

    fprintf(file, "Hello, World!");

    // 重置文件位置指针到文件的开头
    rewind(file);

    char buffer[50];
    fread(buffer, 1, 13, file);
    buffer[13] = '\0';

    printf("Read from file: %s\n", buffer); // 输出: Read from file: Hello, World!

    fclose(file);
    return 0;
}
这个代码示例展示了如何使用 rewind() 在文件中返回到开头。它允许我们在写入内容后从文件的开头重新读取内容。

在某些情况下,使用 rewind() 可能更合适,因为它不仅将文件位置设置回开头,还清除了文件错误标志。这可能有助于避免由于先前的文件操作可能引入的问题。

推荐阅读