C++ 中cerr和cout的区别实例详解

发布时间 - 2026-01-11 03:20:04    点击率:

C++ 中cerr和cout的区别实例详解

前言:

 cerrThe object controls unbuffered insertions to the standard error output as a byte stream. Once the object is nstructed, the expression cerr.flags & unitbuf is nonzero.

  Example

 // iostream_cerr.cpp
// compile with: /EHsc
// By default, cerr and clog are the same as cout
#include <iostream>
#include <fstream>
 
using namespace std;
 
void TestWide( ) 
{
 int i = 0;
 wcout << L"Enter a number: ";
 wcin >> i;
 wcerr << L"test for wcerr" << endl;
 wclog << L"test for wclog" << endl; 
}
 
int main( ) 
{
 int i = 0;
 cout << "Enter a number: ";
 cin >> i;
 cerr << "test for cerr" << endl;
 clog << "test for clog" << endl;
 TestWide( );
}
 
 
 Input 
 Sample Output 
Enter a number: 3
test for cerr
test for clog
Enter a number: 1
test for wcerr
test for wclogcout
 
The object controls insertions to the standard output as a byte stream.
 
cerr 
extern ostream cerr; 
The object controls unbuffered insertions to the standard error output as a byte stream. Once the object is constructed, the expression cerr.flags() & unitbuf is nonzero. 
 
cout 
extern ostream cout; 
The object controls insertions to the standard output as a byte stream.
 

cerr: 错误输出流,无缓冲,不可以重定向。输出的数据不经过缓冲区,直接放到指定的目标中,既然不经过缓冲区那么其它程序就无法把要输出的内容送到其他目标中,所以说它不能被重定向。 

cout:标准输出流,有缓冲,可重定向。把要输出的数据先放到缓冲区中,然后再从缓冲区到你指定的设备中。当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符. 

注:Linux下可以用标准错误输出间接重定向cerr的输出

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++  # 中cerr和cout的区别  # 中cerr和cout对比  # 中cerr和cout使用方法  # OJ中G++和C++的区别  # C++中引用传递与指针传递的区别(面试常见)  # C++结构体struct和类class区别详解  # C/C++ 数组和指针及引用的区别  # C语言和C++的6点区别  # 重定向  # 不经过  # 如有  # 可以用  # 不可以  # 希望能  # 到你  # 然后再  # 谢谢大家  # 说它  # 区中  # 疑问请  # 换行符  # br  # class  # pre  # amp  # flags  # nonzero  # unitbuf 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Linux安全能力提升路径_长期防护思维说明【指导】  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  如何在腾讯云服务器快速搭建个人网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  手机网站制作与建设方案,手机网站如何建设?  如何在Windows服务器上快速搭建网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  JavaScript常见的五种数组去重的方式  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Mybatis 中的insertOrUpdate操作  七夕网站制作视频,七夕大促活动怎么报名?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  千库网官网入口推荐 千库网设计创意平台入口  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  高端建站三要素:定制模板、企业官网与响应式设计优化  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  微信h5制作网站有哪些,免费微信H5页面制作工具?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  详解Android图表 MPAndroidChart折线图  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Linux系统命令中screen命令详解  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  如何在七牛云存储上搭建网站并设置自定义域名?  如何获取上海专业网站定制建站电话?  如何在宝塔面板中修改默认建站目录?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  详解MySQL数据库的安装与密码配置  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何自定义错误页面(404, 500)?(代码示例)  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何在阿里云虚拟服务器快速搭建网站?  活动邀请函制作网站有哪些,活动邀请函文案?