C++ 中的 fread() 函数
C/C++ 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定的流中读取数据到 ptr 指向的数组中。以下是 fread() 函数的声明。
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
下表包含 fread() 参数和说明
| 参数 | 说明 |
|---|---|
| ptr | 这是指向一个内存块的指针,其最小大小为 size*nmemb 字节。 |
| size | 这是要读取的每个元素的大小(以字节为单位)。 |
| nmemb | 这是元素的数量,每个元素的大小为 size 字节。 |
| stream | 这是指向一个指定输入流的 FILE 对象的指针。 |
成功读取的元素总数将作为 size_t 对象返回,这是一个整数数据类型。如果此数字与 nmemb 参数不同,则表示发生了错误或达到文件结尾。
示例代码
#include <stdio.h>
#include <string.h>
int main () {
FILE *fp;
char c[] = "this is tutorialspoint";
char buffer[100];
/* Open file for both reading and writing */
fp = fopen("file.txt", "w+");
/* Write data to the file */
fwrite(c, strlen(c) + 1, 1, fp);
/* Seek to the beginning of the file */
fseek(fp, 0, SEEK_SET);
/* Read and display data */
fread(buffer, strlen(c)+1, 1, fp);
printf("%s\n", buffer);
fclose(fp);
return(0);
}让我们编译并运行上述程序,该程序将创建一个名为 file.txt 的文件,并写入内容 this is tutorialspoint。然后,我们使用 fseek() 函数将写入指针重置到文件开头,并准备如下所示的文件内容 −
输出
this is tutorialspoint
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP