C语言中的fwrite和fread函数
时间: 2023-09-28 16:07:13 浏览: 116
C语言fread函数和fwrite函数的用法及其实例
3星 · 编辑精心推荐
fwrite和fread函数是C语言中用于文件读写的函数,它们都是标准库函数,定义在头文件stdio.h中。
fwrite函数的原型如下:
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
参数说明:
- ptr:要写入的数据的指针。
- size:每个数据项的大小(单位为字节)。
- count:要写入的数据项的数量。
- stream:文件指针。
返回值为成功写入的数据项的数量。
fwrite函数用于将数据写入文件中,它按照指定的大小和数量将数据写入文件中。如果写入成功,函数返回成功写入的数据项的数量,否则返回0。
例如,下面的代码将一个整数数组写入文件中:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
FILE *fp = fopen("data.txt", "wb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
fwrite(arr, sizeof(int), 5, fp);
fclose(fp);
return 0;
}
```
fread函数的原型如下:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
参数说明:
- ptr:要读取数据的缓冲区的指针。
- size:每个数据项的大小(单位为字节)。
- count:要读取的数据项的数量。
- stream:文件指针。
返回值为实际读取的数据项的数量。
fread函数用于从文件中读取数据,它按照指定的大小和数量从文件中读取数据。如果读取成功,函数返回实际读取的数据项的数量,否则返回0。
例如,下面的代码从文件中读取一个整数数组:
```c
#include <stdio.h>
int main() {
int arr[5];
FILE *fp = fopen("data.txt", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
fread(arr, sizeof(int), 5, fp);
fclose(fp);
for (int i = 0; i < 5; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
```
以上代码会输出以下结果:
```
1
2
3
4
5
```
阅读全文