标准错误流cerr

原创 2014年07月29日 15:16:57
有关cerr的知识,抄写了书上的一段解释性程序,赘述知识点
/*
cerr流对象是标准错误流。 Cerr被指定与显示器关联,向标准错误设备输出有关错误信息。
cout流通常是传送到显示器输出,但也可以被重定向输出到磁盘文件,而cerr流中的信息只能在显示器输出。
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    float a,b,c,disc;
    cout<<"Please input a,b,c:";
    cin>>a>>b>>c;
    if(a==0)
    {
        cerr<<"a is equal to zero,error!"<<endl;
        main();
    }
    else
    {
        if((disc=(b*b-4*a*c))<0)
        {
            cerr<<"disc=b*b-4*a*c<0"<<endl;
            main();
        }
        else
        {
            cout<<"x1="<<((-b+sqrt(disc))/(2*a))<<endl;
            cout<<"x2="<<((-b-sqrt(disc))/(2*a))<<endl;
        }
    }
    return 0;
}
/*
clog流对象也是标准错误流。但是cerr是不经过缓冲区直接向显示器上输出有关信息,
而clog中的信息存放在缓冲区中,缓冲区满后或遇到endl时向显示器输出。
*/

std::cerr是ISO C++标准错误输出流

概念编辑 std::cerr是ISO C++标准错误输出流,对应于ISO C标准库的stderr。 与std::cout不同,ISO C++要求当cerr被初始化后,cerr.flags(...
  • qqyuanhao163
  • qqyuanhao163
  • 2014年10月31日 14:14
  • 1008

c++标准错误流cerr

预定义的对象cerr是ostream类的一个实例,cerr对象附属到标准错误设备,通常也是显示屏,但是cerr对象是非缓冲的,且每个流插入到cerr都会立即输出 cerr也是与流插入运算符 #in...
  • qq_34460386
  • qq_34460386
  • 2016年11月20日 16:17
  • 197

std::cerr与std::cout区别

cerr 是一个ostream对象,关联到标准错误,通常写入到与标准输出相同的设备。默认情况下,写到cerr的数据是不缓冲的。Cerr通常用于输出错误信息与其他不属于正常逻辑的输出内容。概念std::...
  • liuhhaiffeng
  • liuhhaiffeng
  • 2016年09月22日 22:03
  • 795

cout/cerr/clog之异同极其重定向

最近刚入手了一本《C++ Primer(第五版)》,开始按照C++0x的标准把之前积累的C++知识重头梳理一遍。在看到“初识输入输出”这一小节时,见书中提到了cout/cerr/clog三个输出对象,...
  • yeosn
  • yeosn
  • 2013年10月22日 14:37
  • 1031

cerr和clog

cerr和clog两个错误输出流的介绍
  • theusProme
  • theusProme
  • 2017年03月08日 01:05
  • 496

cout和cerr的区别

问题: c++中输出通常信息的函数为cout,比如:std::cout 在异常处理机制中则使用cerr来输出错误信息,比如:std::cerr 那么,cout和cerr的区别是什么呢? ...
  • David_xtd
  • David_xtd
  • 2013年05月27日 11:13
  • 5935

c++中cout、cerr、clog的区别

之前一直在用,但就是没在意两者到底有啥却别,今天又想到这个问题,总结下吧(以下的内容均是本人从网上查阅资料看来整理的,暂时还没有查阅官方资料,不保证准确,欢迎讨论) 其实大家平常常会用的主要有三个:...
  • bsmmaoshenbo
  • bsmmaoshenbo
  • 2016年03月02日 10:42
  • 1608

c++中cerr与cout区别

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

cout 和cerr的区别

总结了一下,主要有几点,欢迎指正。1、cout对应于标准输出流      cerr对应于标准错误流2、cout可以重定向,cerr不可以。3、cout要分配缓冲,cerr不用,所以从理论上来说,cer...
  • yclz
  • yclz
  • 2007年04月19日 16:22
  • 3014

cout, cerr, clog的区别和windows下的重定向

1、cout,cerr,clog的区别 《C++ Primer》第四版中解释为:标准库定义了 4 个 IO 对象。处理输入时使用命名为 cin(读作 see-in)的 istream 类型对象。这个...
  • ML_VISION
  • ML_VISION
  • 2015年07月02日 17:15
  • 1143
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:标准错误流cerr
举报原因:
原因补充:

(最多只允许输入30个字)