大家平时用到的输出有三个:cout、cerr、clog。

  • cout:写到标准输出的ostream对象;
  • cerr:输出到标准错误的ostream对象,通常用来输出警告和错误信息给程序的使用者;
  • clog:也是输出标准错误流(和cerr是一样的),用于产生程序执行的一般信息,很少用到。

区别

  1. cout经过缓冲后输出,默认情况下是显示器。这是一个被缓冲的输出,是标准输出;它在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符. 可以被输出到文件,即可以重定向输出。
  2. cerr不经过缓冲而直接输出,一般用于迅速输出出错信息,是标准错误,默认情况下被关联到标准输出流,但它不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示。
  3. clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.

缓冲区的目的,就是减少刷屏的次数——比如,你的程序输出圣经中的一篇文章。不带缓冲的话,就会每写一个字母,就输出一个字母,然后刷屏。有了缓冲,你将看到若干句子“同时”就出现在了屏幕上(由内存翻新到显存,然后刷新屏幕)。

C++:标准错误流Cerr相关推荐

  1. C++之标准错误流(cerr)和标准日志流(clog)

    一.标准错误流(cerr)   预定义的对象 cerr 是 ostream 类的一个实例.cerr 对象附属到标准错误设备,通常也是显示屏,但是 cerr 对象是非缓冲的,且每个流插入到 cerr 都 ...

  2. C++ 语言 std::cin - std::cout - std::cerr - std::clog

    C++ 语言 std::cin - std::cout - std::cerr - std::clog std::cin - 标准输入流 std::cout - 标准输出流 std::cerr - 标 ...

  3. C++中基本的输入输出

    1.Cpp中基本的输入输出 C++标准库提供了一组丰富的输入/输出功能,将在后续的章节进行介绍.本章将讨论C++编程中最基本和最常见的I/O操作.C++的I/O发生在流中,流是字节序列.如果字节流是从 ...

  4. 《C++ Primer第五版》第一章-------IO机制和注释缩进

    C++ Primer第一章的内容相对来说比较基础,主要是对C++中程序编译的流程.C++中的IO机制,for和while循环的介绍.类的构成和注释方法及缩进方法做了简要的介绍,本次博客主要从C++中的 ...

  5. C++day13 学习笔记

    1.数据  内存中  变量          磁盘上  文件 2.把数据从其他的设备搬到内存中 --- 输入 --- 读    把内存中的数据放到其他设备中 --- 输出 --- 写 3.流    物 ...

  6. C++ Primer Plus-note

    txt文档转存 '*************** -exec disassemble /m main --vscode 中查看程序汇编代码 位操作,文件操作 书上跳过的 1.线程 2.volatile ...

  7. C++基础知识快速入门

    C++简介 C++是一种静态类型.编译式的.大小写敏感的.支持过程化编程.面向对象编程和泛型编程. C++被认为是一种中级语言,它综合了高级语言和低级语言的特点. C++完全支持面向对象程序化设计,包 ...

  8. cout、cerr、clog

    其实大家平常常会用的主要有三个:cout.cerr.clog,首先简单介绍下三者. 这三者在C++中都是标准IO库中提供的输出工具(至于有关的重载问题在此不讨论): cout:写到标准输出的ostre ...

  9. C++中cout和cerr的区别

    标准IO库定义的其中3个IO对象: 一个istream类型对象:cin 两个ostream对象:cout,cerr cin:读取标准输入的istream对象,对应于标准输入流(关联到标准输入设备,通常 ...

最新文章

  1. 科大讯飞刷新纪录,机器阅读理解如何超越人类平均水平? | 技术头条
  2. div img span 垂直居中问题
  3. 微信小程序上传图片到html,微信小程序-上传图片
  4. 如何使用XML 配置的方式配置Spring?
  5. 春节跳槽最新Java面试题
  6. iOS--开发从入门到精通
  7. 在 Linux 中使用 SSD(固态驱动器):启用 TRIM
  8. oracle12兼容ojdbc6,oracle ojdbc6 使用 报错
  9. HPlaserjet1020打印机无法识别
  10. 【PCB设计工具】在线 mil到mm单位转换、mm到mils换算
  11. word最后一页空白页删除
  12. Backdoor Attack with Imperceptible Input and Latent Modification
  13. oracle漏洞修补,01-oracle漏洞修复
  14. 怎么让笔记本变路由器,亲身试验可用,不用下第三方软件
  15. c#配合c++调节屏幕亮度,非伽马以及RGB方案
  16. 联邦学习开源框架FATE
  17. unity Device Simulator的使用
  18. 运用计算机考试ppt,计算机一级考试的ppt word excel分别用的是哪个版本的??
  19. 电脑生成siri语音_给电脑里装个Siri!海尔智能语音系统体验
  20. -bash: cd: /usr/bin/mysql:_linux下mysql的卸载、安装全过程amp;amp;mysql安装后bash:mysql:command not found...

热门文章

  1. 进阶实验2-3.1 海盗分赃 (25 分)
  2. MATLAB学习心得~
  3. SSM框架配置文件整理
  4. 实现嵌入式linux自动同步网络时间---NTP
  5. gensim中的word2vec使用
  6. 机器学习:浅谈先验概率,后验概率
  7. 用 Swift、Foursquare API 和 Realm 創建一個咖啡屋 App
  8. cetus权限连接主从mysql_网易开源中间件 -Cetus监控模块
  9. JAVA自定义监听器(通过新线程+while+violate)
  10. 如何分析PARSEC源码