为什么在C语言中,可以用char数组存储用fread()读取的数据,然后用fwrite()就能复制文件

就是不明白其中的过程,使二进制先转化为字符形式,然后在写入吗?... 就是不明白其中的过程,使二进制先转化为字符形式,然后在写入吗? 展开
 我来答
lijiachengasd
2015-02-23 · TA获得超过628个赞
知道小有建树答主
回答量:509
采纳率:100%
帮助的人:138万
展开全部
遇到问题总喜欢提为什么,这点非常可取。但是你的这个问题最好不要这样问。
因为c语言中有很多函数的功能是开发人员事先写好的。
你应该问这样的作法有什么优点,如果不用这种方法完成读取,还有什么其他的方法来完成。
如果你非要问我用其他类型的数组比如int的数组来存储fread()读取的数据可不可以呢。
当然是不好啦。你想想计算机的最小单位是什么,是位啊,任何文件所占的字节大小肯定是位的倍数。char类型的正好占1个位。
还有如果你问我可以不用数组存放fread读取的数据行吗?当然也可以,你可以用一个char类型的数据来存放数据,也可以用链表等等其他形式,但是你想想,之所以用数组的好处在哪里,因为读写对此数频繁对硬盘不好,就好像你们家电灯泡开关,来回开大开关当然使灯泡的寿命缩短,如果一次读很大数据,再一次写很多的数据,这样的方法更可取。
当然具体实现步骤不要深究,我曾经以为c语言你看过几千页的好书你就是大神了,比如有学单片机的朋友也是用c语言,但是他们是接触硬件的,很多东西都不一样。具体的最基本的操作往往涉及硬件和汇编语言,而汇编在不同的操作系统,指令又不一样。尽管看似很简单的一个printf函数,涉及到的知识也非常多,我只要知道它是什么功能就可以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式