当前位置:  开发笔记 > 编程语言 > 正文

C中的文件流和C++中的iostream有什么区别?

如何解决《C中的文件流和C++中的iostream有什么区别?》经验,为你挑选了2个好方法。

C中的File(File*指针)流和C++中的iostream有什么区别?

为什么他们都叫流,他们有共同点吗?



1> MattJ..:

它们都处理文件,"流"只是一个非常通用的术语,表示来自某些来源的数据.

区别主要在于C++的iostream对象是类/对象,而C文件数据是通过定义的f*()函数访问的.

所以基本上,相同的任务,不同的界面风格.



2> unwind..:

它们通常都是缓冲的,这意味着您在流上执行的I/O与基础系统对象(例如文件)上完成的I/O不匹配.

例如fread(),读取2个字节的调用可能会尝试从文件读取1,024个字节,如果您接近文件末尾,则可能只返回57个字节.差异全部由流实现隐藏,它将返回2个字节,并记住它的缓冲区中还有55个字节.因此,它将满足下一个读取请求,而根本不会达到文件级别.

编辑:值得指出的是,两种语言(stderrcerr分别)的默认错误流都没有缓冲.这是一个巨大的胜利,因为它增加了及时输出的机会.通过使用printf()语句喷洒代码来追逐奇怪的崩溃错误时,出于这个特殊原因打印到错误流是一个非常好的主意.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有