社区
C++ 语言
帖子详情
关于c++输入输出和缓冲
wuboy2000
2004-05-06 04:13:13
我刚接触c++,看到有书上说c++定义的I/O是缓冲的,我不太理解是什么意思。
比如说“endl”和“\n”的区别,endl清空缓冲区而\n不清空,这指什么意思?能不能说具体点,具体体现在什么地方不一样?
还有cerr和clog都是对应标准错误流的,只不过一个非缓冲,一个缓冲。我就是不明白这里是否非缓冲体现在什么地方。
...全文
122
3
打赏
收藏
关于c++输入输出和缓冲
我刚接触c++,看到有书上说c++定义的I/O是缓冲的,我不太理解是什么意思。 比如说“endl”和“\n”的区别,endl清空缓冲区而\n不清空,这指什么意思?能不能说具体点,具体体现在什么地方不一样? 还有cerr和clog都是对应标准错误流的,只不过一个非缓冲,一个缓冲。我就是不明白这里是否非缓冲体现在什么地方。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mobihigh
2004-05-06
打赏
举报
回复
"c++为每个流关联一个缓冲区”只是指为每个流设定了缓冲区,输入输出
的数据先是存放在开辟的缓冲区中,只有当缓冲区满或者程序命令输出,
缓冲区的数据才会输入输出的。这些都由相应的类来实现的。并不需要你来
干预。
wuboy2000
2004-05-06
打赏
举报
回复
书上原文为:
c++将输入和输出看作字节流。c++为每个流关联一个缓冲区。输入来自此缓冲区,输出也写到此缓冲区。这意味这c++定义的I/O(输入\输出)是缓冲的。
这一段我就糊涂,“c++为每个流关联一个缓冲区”,是什么意思?是说先把要输入输出的字节放到一片内存空间(缓冲区)?
还有,“输入来自此缓冲区,输出也写到此缓冲区。”是不是说反了?
cngdzhang
2004-05-06
打赏
举报
回复
有缓冲的不是立即输出的,无缓冲的是立即输出的,
建立缓冲的目的是提高输入输出效率
endl是先输出'\n'再用cout.flush()进行刷新(清空);
Error digesting Registry data org.xml.sax.SAXNotSu
2019独角兽企业重金招聘Python工程师标准>>> ...
TBSchedule 调度框架(一)
Schedule任务调度器
pip-ansys_mapdl_reader-0.52.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.zip
pip-ansys_mapdl_reader-0.52.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.zip
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例桑塔纳2000型轿车电路分析
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例桑塔纳2000型轿车电路分析
Windows 系统部署 Milvus(米尔沃斯)向量数据库完整教程:更新 wsl
Windows 系统部署 Milvus(米尔沃斯)向量数据库完整教程:更新 wsl
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章