C 语言 fread() 函数的使用方法
fread() 函数用于从一个流中读取数据到一个缓冲区。它通常被用于从文件中读取二进制数据或结构化数据。
函数原型:
<code class="c">size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);</code>
参数:
立即学习“C语言免费学习笔记(深入)”;
ptr:指向缓冲区的指针,用于存储从流中读取的数据。
size:每个元素的大小(以字节为单位)。
nmemb:要读取的元素数量。
stream:指向文件流的 FILE 结构指针。
返回值:
成功读取的元素数量(如果未发生错误)。 如果遇到错误,则返回 0。使用方法:
-
打开文件流。
分配一个足够大的缓冲区来存储读取的数据。
调用 fread() 函数,指定缓冲区、每个元素的大小、要读取的元素数量以及文件流。
检查 fread() 函数的返回值以查看是否成功读取了数据。如果返回值为 0,则发生了错误。
示例代码:
<code class="c">#include <stdio.h>
int main() {
FILE *fp;
int buffer[100];
int size, nmemb;
fp = fopen("data.bin", "rb");
if (fp == NULL) {
perror("Error opening file");
return 1;
}
// 读取 100 个整数
size = sizeof(int);
nmemb = 100;
if (fread(buffer, size, nmemb, fp) != nmemb) {
perror("Error reading data");
fclose(fp);
return 1;
}
// 处理读取的数据
for (int i = 0; i < nmemb; i++) {
printf("%d\n", buffer[i]);
}
fclose(fp);
return 0;
}</code> 