C语言 fread() 和 fseek() 函数详解及示例
C语言 fread() 和 fseek() 函数详解及示例
fread() 函数
fread() 函数用于从文件中读取数据。它的原型如下:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
参数说明:
ptr: 指向要存储读取数据的内存块的指针。size: 每个数据项的字节数。count: 要读取的数据项的个数。stream: 指向FILE对象的指针,它指定了要读取的文件。
示例:
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
fp = fopen("example.txt", "rb"); // 打开文件
if (fp == NULL) {
printf("文件打开失败\n");
return 1;
}
fread(buffer, sizeof(char), 10, fp); // 从文件中读取10个字符
printf("读取的内容:%s\n", buffer);
fclose(fp); // 关闭文件
return 0;
}
fseek() 函数
fseek() 函数用于在文件中定位到指定的位置。它的原型如下:
int fseek(FILE *stream, long offset, int origin);
参数说明:
stream: 指向FILE对象的指针,它指定了要定位的文件。offset: 要移动的字节数。origin: 指定了起始位置,可以是以下值之一:SEEK_SET: 从文件开头开始计算偏移量。SEEK_CUR: 从当前位置开始计算偏移量。SEEK_END: 从文件末尾开始计算偏移量。
示例:
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("example.txt", "r"); // 打开文件
if (fp == NULL) {
printf("文件打开失败\n");
return 1;
}
fseek(fp, 5, SEEK_SET); // 从文件开头向后移动5个字节
ch = fgetc(fp); // 读取当前位置的字符
printf("读取的字符:%c\n", ch);
fclose(fp); // 关闭文件
return 0;
}
总结:
fread() 函数用于从文件中读取数据,而 fseek() 函数用于在文件中定位到指定的位置。这两个函数在文件操作中非常常用。
注意:
- 在使用
fread()和fseek()函数之前,需要先使用fopen()函数打开文件。 - 使用完文件后,需要使用
fclose()函数关闭文件。 - 在使用
fseek()函数时,需要根据实际情况选择合适的origin值。 fseek()函数成功返回0,失败返回非0值。
原文地址: http://www.cveoy.top/t/topic/fpC 著作权归作者所有。请勿转载和采集!