C语言标准库函数fread用于从文件中读取数据。
函数原型为:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
参数说明:
- `ptr`:指向要读取数据存储位置的指针;
- `size`:要读取的每个数据项的大小(以字节为单位);
- `count`:要读取的数据项的个数;
- `stream`:要读取的文件指针。
函数返回值为实际成功读取的数据项个数,如果出现错误或到达文件末尾,返回值可能小于count。
以下是一个使用fread函数读取文件的示例:
```c
#include
int main() {
FILE *fp;
char buffer[100];
// 打开文件
fp = fopen("file.txt", "rb");
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
// 读取数据
size_t result = fread(buffer, sizeof(char), sizeof(buffer), fp);
if (result == 0) {
printf("读取文件失败\n");
return 1;
}
// 输出读取的数据
printf("读取的数据是:%s\n", buffer);
// 关闭文件
fclose(fp);
return 0;
}
```
在该示例中,首先通过fopen函数打开一个文件,然后使用fread函数从文件中读取数据。读取的数据存储在buffer数组中,读取的字节数为sizeof(char) * sizeof(buffer)。
最后,使用printf函数输出读取的数据,并使用fclose函数关闭文件。
需要注意的是,使用fread函数读取二进制文件时,需要使用"rb"模式打开文件;而读取文本文件时,使用"r"模式即可。