📅  最后修改于: 2023-12-03 15:09:17.640000             🧑  作者: Mango
在C编程中,对于从文件中读取内容的操作,我们可以使用fseek()
函数来重置文件指针。这个函数可以将文件指针定位到文件的任何位置,从而实现对文件的读取和写入。
fseek()
函数的使用方法fseek()
函数的原型如下:
int fseek(FILE *stream, long int offset, int whence);
stream
: 文件指针。offset
: 偏移量。它是一个标准的长整型(long int)。whence
: 它指定了偏移量的起始位置,可以是以下值之一:fseek()
函数成功执行后将返回0,如果执行失败,则返回-1。
如果你想要重置文件指针为文件开头,你可以使用下面的代码:
rewind(file_pointer);
这个函数会将文件指针定位到文件开头,从而可以重新从文件的开头读取内容。
下面是一个简单的示例程序,演示如何使用fseek()
函数来重置文件指针为文件开头:
#include <stdio.h>
int main()
{
FILE *fp;
int ch;
fp = fopen("test.txt", "r");
if (fp == NULL)
{
printf("Error opening file\n");
return -1;
}
// 读取文件中的第一个字符
ch = fgetc(fp);
printf("First character of file: %c\n", ch);
// 重置文件指针为文件开头
fseek(fp, 0, SEEK_SET);
// 再次读取文件中的第一个字符
ch = fgetc(fp);
printf("First character of file (after resetting): %c\n", ch);
fclose(fp);
return 0;
}
运行结果如下:
First character of file: T
First character of file (after resetting): T
可以看到,程序先读取了文件中的第一个字符,然后调用fseek()
函数将文件指针重置为文件开头,最后再次读取文件中的第一个字符。