用fread()和fwrite()读写文件
ANSI C文件系统提供fread()和fwrite()两个函数,用于读/写长于一字节的数据类型。这两个函数允许读/写各种类型的数据块。它们的原型是:
size_t fread(void *buffer,size_t num_bytes,size_t count,FILE *fp);
size_t fwrite(const void *buffer,size_t num_bytes,size_t count,FILE *fp);
对fread()而言,buffer是接收读入数据的内存区的指针。
对fwrite()而言,buffer是写入到那个文件的信息的指针。
count的值确定读/写多少项,每项长度等于num_bytes。
fp是指向事先打开的流的指针。
正常情况下,fread()返回读入的项数,fwrite()返回写出的项数。
只要文件按二进制打开,fread()和fwrite()就可以读/写各类信息。以下程序先向文件写double,int和long型数据,然后再读回。
//向磁盘文件写入一些非字符型的数据,并且再将其读回到内存
#include <stdio.h>
#include <stdlib.h>int main(void)
{FILE *fp;double d1 = 12.23,d2;int i1 = 101,i2;long l1 = 123023L,l2;if((fp=fopen("test", "wb+"))==NULL) {printf("Cannot open file.\n");exit(1);}//将3个值写入到文件中fwrite(&d1, sizeof(double), 1, fp);fwrite(&i1, sizeof(int), 1, fp);fwrite(&l1, sizeof(long), 1, fp);//重置到文件的开始处rewind(fp);//将3个值从文件中读出fread(&d2, sizeof(double), 1, fp);fread(&i2, sizeof(int), 1, fp);fread(&l2, sizeof(long), 1, fp);printf("%f %d %ld", d, i, l);fclose(fp);return 0;
}
用fread()和fwrite()读写文件相关推荐
- c语言fseek128字节,C语言rewind和fseek函数的用法详解(随机读写文件)
前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...
- C语言rewind函数返回值为空,C语言rewind和fseek函数的用法详解(随机读写文件)...
前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...
- python rewind_C语言rewind和fseek函数的用法详解(随机读写文件)
前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind...
由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...
- C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- fstream与 C 风格(例如fread 和 fwrite )两种读写文件方法的效率比较
我觉得作者写的挺好,评论也写的很对. 目前我的项目就是在VS2008+Qt+win7上开发的.我上次总结的QFile和C语言对文件操作的性能比较.--读取double型二进制数据文件也说明了这个问题. ...
- c语言fwrite作用,C语言fread和fwrite的用法详解(以数据块的形式读写文件)
fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets() 遇到换行符就结束读取.如果希望读取多行内容,需要使用 fread() 函数:相应地写入函数为 fwrite(). 对于 ...
- 文件操作:fread()和fwrite()
fread和fwrite函数功能 用来读写一个数据块. 一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,cou ...
- c语言fread malloc,流操作之读写(fread、fwrite、fopen、malloc)
fgets.fread函数 fwritre函数 文件结束函数 错误指示函数 #include #include int main(int arge,char **argv) { int ret=-1; ...
- c语言数据块写入函数,C语言数据块读写函数:fread和fwrite
在前面曾经介绍过C语言中的各种读写函数,首先是最简单的读写一个字符的函数fputc和fgetc,在这个基础上又出现了putw和getw.fgets和fputs,此外还说过格式化读写函数fprintf和 ...
最新文章
- 使用余弦相似度算法计算文本相似度-数学
- 什么是shell【TLCL】
- javascript中的事件问题的总结
- 11月数据库排行:PostgreSQL起飞、三巨头分数持续低迷
- Vue实现仿音乐播放器8-实现热门榜单效果
- UWP 播放媒体控件
- P2572 [SCOI2010]序列操作
- mt4 指标 涨跌幅 颜色k线_通达信精选指标——彩色K线指标
- [数论-欧拉函数的应用]NEFU 1115
- 大班音乐机器人反思_幼儿园大班音乐律动教案《伦敦桥》含反思
- 移动端网页开发注意点
- JavaSE学习--面向对象
- 组态软件mcgs入库mysql_MCGS组态软件实现数据报表
- Unity HDR (高动态范围 )
- Jmeter java取样器实现
- Web前端开发的十佳前端框架优缺点
- 中国睫毛生长液行业市场供需与战略研究报告
- 采众家之长 凯翔软件定义存储能够后来居上吗?
- kernel 修改启动logo
- 傅里叶变换短时傅里叶变换小波变换
热门文章
- 该怎么学Python?自学Python的方法整理!
- 湖南省岳阳市谷歌高清卫星地图下载
- 【机器学习课程-华盛顿大学】:4 聚类和检索 4.4 MoG混合高斯模型编程测试
- golang并发编程-04-通道-02-定时器、断续器
- C语言文件操作与系统文件操作接口
- 一步一步在 Windows 10 用 visual studio 2019 编译 zmqpp 4.2.0 版
- 计算机基础知识填空题和选择题,计算机基础知识题库选择题(参考).doc
- 机器学习的思考–计算机的潜意识
- python3-输入摄氏度转化为华氏度
- SPRING系列一之 依赖注入