c++ fread的用法
时间: 2023-09-03 17:12:02 浏览: 140
`fread` 是 C++ 中用来读取二进制文件的函数,其函数原型如下:
```cpp
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
其中,各个参数的含义如下:
- `ptr`:指向一个要读取数据的内存块的指针。
- `size`:要读取的每个数据项的字节数。
- `count`:要读取的数据项的个数。
- `stream`:文件指针,指向要读取的文件。
`fread` 函数的返回值为实际读取的数据项的个数,也就是说,如果返回值小于 `count`,说明读取到了文件末尾或者发生了错误。
下面是一个例子,演示如何使用 `fread` 函数读取二进制文件:
```cpp
#include <cstdio>
int main()
{
FILE *fp = fopen("data.bin", "rb"); // 以二进制方式打开文件
if (fp == nullptr)
{
printf("Open file failed!\n");
return -1;
}
int data[10];
size_t count = fread(data, sizeof(int), 10, fp); // 读取 10 个 int 数据
if (count != 10)
{
printf("Read file failed!\n");
return -1;
}
else
{
// 读取成功,输出读取到的数据
for (int i = 0; i < 10; i++)
{
printf("%d ", data[i]);
}
printf("\n");
}
fclose(fp); // 关闭文件
return 0;
}
```
在上面的例子中,我们定义一个 `data` 数组,然后使用 `fread` 函数从文件中读取 10 个 `int` 数据,并将读取到的数据存储到 `data` 数组中。最后,我们遍历 `data` 数组,将读取到的数据输出到控制台上。
阅读全文