C++中的fread()函数从流中读取数据块。首先,此函数从给定的输入流中读取对象的计数,每个对象的大小为字节大小。
读取的总字节数(如果成功)为(size * count)。根据号。读取字符数后,指标文件的位置将增加。如果读取的对象不是简单的copy-able,则行为是不确定的,并且如果size或count的值等于零,则此程序将简单地返回0。
用法:
size_t fread(void * buffer, size_t size, size_t count, FILE * stream)
参数:该函数接受四个强制性参数,如下所述:
- buffer:它以至少(size * count)个字节的大小指定指向内存块的指针以存储对象。
- size:它指定每个对象的大小(以字节为单位)。 size_t是无符号整数类型。
- count:它指定元素的数量,每个元素的大小为字节大小。
- stream:它指定要从中读取数据的文件流。
返回值:该函数返回成功读取的对象数。如果发生错误,则返回值可以小于count。
以下示例程序旨在说明上述函数:
示例1:
// C++ program to illustrate fread() function
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
int main()
{
FILE* file_;
char buffer[100];
file_ = fopen("g4g.txt", "aman");
while (!feof(file_)) // to read file
{
// fucntion used to read the contents of file
fread(buffer, sizeof(buffer), 1, file_);
cout << buffer;
}
return 0;
}
假设文件g4g.txt包含以下数据:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle
然后,当您运行程序时,输出将是
Harry Potter : Specs Hermione : Smart Weasley : FlyingCar Dumbledore : Wand
示例2:
// C++ program t illustrate fread() function
// when file's size or count is equal to 0
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
int main()
{
FILE* file_;
char buffer[100];
file_ = fopen("g4g.txt", "aman");
cout << "count = 0, return value = " <<
fread(buffer, sizeof(buffer), 0, file_);
cout << "\nsize = 0, return value = " <<
fread(buffer, 0, 1, file_) << endl;
return 0;
}
输出:
count = 0, return value = 0 size = 0, return value = 0
相关用法
- C++ fma()用法及代码示例
- C++ log()用法及代码示例
- C++ div()用法及代码示例
- C++ unordered_map end( )用法及代码示例
- C++ array get()用法及代码示例
- C++ array at()用法及代码示例
- C++ exp2()用法及代码示例
- C++ feupdateenv()用法及代码示例
- C++ raise()用法及代码示例
- C++ strcspn()用法及代码示例
注:本文由纯净天空筛选整理自AmanSrivastava1大神的英文原创作品 fread() function in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。