c++ 中 fread
时间: 2024-01-03 22:14:35 浏览: 124
fread()是C语言中用于从文件中读取数据的函数。它的原型如下:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
它的功能是从指定的文件流(stream)中读取数据,然后将数据存储到由ptr指针指向的内存区域中。参数size表示每个数据项的字节数,参数count表示要读取的数据项的个数。
fread()函数的返回值是实际读取的数据项个数,如果出现错误或到达文件末尾,则返回值可能小于count。
例如,以下代码展示了如何使用fread()函数从文件中读取10个整数并存储到数组中:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "rb"); // 以二进制模式打开文件
int data[10];
if (file != NULL) {
fread(data, sizeof(int), 10, file);
fclose(file);
// 读取成功,输出数组中的数据
for (int i = 0; i < 10; i++) {
printf("%d ", data[i]);
}
printf("\n");
}
return 0;
}
```
上述代码中,我们首先使用fopen()函数打开一个名为"data.txt"的二进制文件。然后,我们使用fread()函数读取文件中的整数数据,并将其存储到名为data的整型数组中。最后,我们通过循环遍历数组并输出读取到的数据。
需要注意的是,fread()函数并不会自动添加字符串的结束符,因此如果读取的是字符串数据,我们需要手动在读取到的字符数组末尾添加'\0'来表示字符串的结束。
阅读全文