C语言中fseek()与rewind()的比较
fseek()
C语言中的fseek()函数用于将文件指针移动到特定位置。偏移量和流是函数参数中给定的指针目标。如果成功,则返回零,否则返回非零值。
以下是C语言中fseek()函数的语法:
int fseek(FILE *stream, long int offset, int whence)
以下是fseek()函数中使用的参数:
stream − 这是用于标识流的指针。
offset − 这是从位置开始的字节数。
whence − 这是添加偏移量的起始位置。
whence由以下常量之一指定。
SEEK_END − 文件结尾。
SEEK_SET − 文件开头。
SEEK_CUR − 文件指针的当前位置。
以下是一个C语言中fseek()函数的示例:
假设我们有一个名为“demo.txt”的文件,其内容如下:
This is demo text! This is demo text! This is demo text! This is demo text!
现在让我们看看代码。
示例
#include<stdio.h> void main() { FILE *f; f = fopen("demo.txt", "r"); if(f == NULL) { printf("
Can't open file or file doesn't exist."); exit(0); } fseek(f, 0, SEEK_END); printf("The size of file : %ld bytes", ftell(f)); getch(); }
输出
The size of file : 78 bytes
在上面的程序中,使用fopen()打开文件“demo.txt”,并使用fseek()函数将指针移动到文件结尾。
f = fopen("demo.txt", "r"); if(f == NULL) { printf("
Can't open file or file doesn't exist."); exit(0); } fseek(f, 0, SEEK_END);
rewind()
rewind()函数用于将文件位置设置为给定流的开头。它不返回值。
以下是C语言中rewind()函数的语法:
void rewind(FILE *stream);
以下是一个C语言中rewind()函数的示例:
假设我们有一个名为“new.txt”的文件,其内容如下:
This is demo! This is demo!
现在,让我们看看示例。
示例
#include<stdio.h> void main() { FILE *f; f = fopen("new.txt", "r"); if(f == NULL) { printf("
Can't open file or file doesn't exist."); exit(0); } rewind(f); fseek(f, 0, SEEK_END); printf("The size of file : %ld bytes", ftell(f)); getch(); }
输出
The size of file : 28 bytes
在上面的程序中,使用fopen()打开文件,如果指针变量为空,则会显示“无法打开文件”或“文件不存在”。rewind()函数将指针移动到文件的开头。
f = fopen("new.txt", "r"); if(f == NULL) { printf("
Can't open file or file doesn't exist."); exit(0); } rewind(f);
广告