c语言文件指针重新定向,C语言rewind()函数:将文件指针重新指向文件开头

头文件:#include

rewind()函数用于将文件指针重新指向文件的开头,同时清除和文件流相关的错误和eof标记,相当于调用fseek(stream, 0, SEEK_SET),其原型如下:

void rewind(FILE * stream);

【参数】stream为以打开文件的指针。

注意:准确的说,这里的指针不是文件指针stream,而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。

文件指针FILE *stream中,包含一个读写位置指针char *_nextc,它指向下一次文件读写的位置。其结构如下:

typedef struct

{

int _fd; // 文件号

int _cleft; // 缓冲区中剩下的字节数

int _mode; // 文件操作模式

char * _nextc; // 下一个字节的位置

char * _buff; // 文件缓冲区位置

}FILE;

每当进行一次读写后,该指针自动指向下一次读写的位置。当文件刚打开或创建时,该指针指向文件的开始位置。可以用函数ftell()获得当前的位置指针,也可以用rewind()/fseek()函数改变位置指针,使其指向需要读写的位置。

【实例】读取文件的数据后再回到开头重新读取。

#include#includevoid main(void)

{

FILE* stream;

long l;

float fp;<

你可能感兴趣的:(c语言文件指针重新定向)