fread函数怎么调用,怎样写
1 回答
onemoo
TA贡献883条经验 获得超454个赞
你可以把 fread 的功能看作是“从文件流中读取一组对象到指定的数组中”
它的参数的含义是这样的
fread( 一个指针,指向要保存读取内容的数组。是的,你可以把这个看作是存入数组中 读取对象的大小,以字节为单位 读取对象的个数 文件流,函数就从这个流中读 )
它的返回值表示成功读取了多少个对象,可以通过“检查其是否等于应读个数”来判断是否成功读取。
不过注意:如果文件流中已经没有内容了,fread 也会返回小于应读个数的值或 0。所以返回值不等于应读个数不一定就是读取失败,也许是读到文件末尾了,应该用 feof 或 ferror 做进一步判断。
比如,假设文件流 fp 中存了一组(比如 3 个)int 数据,你就可以这样读取:
int data[3]; // 先声明一个能存 3 个 int 的数组,后面数据会存到这里 size_t count = fread(data, sizeof(int), 3, fp); if (count == 3) // 通过返回值判断为成功读取了 3 个 int
虽然我把这个解说成读取数组,当然,只读取一个对象也没问题。假设上面例子中只读一个 int:
int data; // 数据会存到这个 data 里 if (fread(&data, sizeof(int), 1, fp) == 1) // 第一个参数传入 data 的地址即可 // 根据返回值作判断
- 1 回答
- 0 关注
- 908 浏览
添加回答
举报
0/150
提交
取消