C语言 文件初学

fprintf只用于处理文本文件fwrite两个都可以吗?(fwrite处理取决于打开方式是那种方式吗?)是不是fwrite可以代替fprintf而fprintf不能代替... fprintf只用于处理文本文件 fwrite两个都可以吗?(fwrite处理取决于打开方式是那种方式吗?)
是不是fwrite可以代替fprintf而fprintf不能代替fwrite?
展开
 我来答
cdyzxy
推荐于2016-08-28 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3755万
展开全部
文本文件与数据文件的区别是,数据文件中出现的数据不一定都是ASCII编码,而文本文件中不会出现ASCII码以外的字符;文本文件存储是以字节为单位的,常用回车等来做分隔符,数据文件(文本文件是其中一种特殊形式)可以没有分隔符,存储单位也是灵活的;文本文件存储的数据一般要转换成字符串,读取后也要有一个将字符串转换成数据的过程,而数据文件直接读写后即可使用。所以数据文件比文本文件来说由于存储数据紧凑而占用磁盘空间要少。
所以你说的都是对的。普通fwrite一般用wb模式打开而fprintf用w打开,以保证读写正确。fwrite可以写字符串内容到文件中,而fprintf就无法直接写float型变量的值到文件中了,只能先转成字符串。例如:
写变量值:float a=3.14; fprintf(fp,"%f\n",a); fwrite(&a,sizeof(float),1,tp);
写字符串:char str[10]={ "3.14" }; fprintf(fp,"%s",str); fwrite(str,strlen(str)+1,1,tp);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式