逐梦C++补遗篇之一:cout与cerr的区分
1.从定义看区别:
cout:标准输出流,带缓冲,默认输出目的地为屏幕,可以被重定向;
cerr:标准错误输出,不带缓冲,输出目的地为屏幕,一般不被重定向;
缓冲:带缓冲,就是系统会为你分配一个缓冲区,待要输出时,系统会将缓冲区的所有内容输出;不带缓冲,就是无缓冲区,你输入一个字符就会输出一个字符;打个比方,带缓冲你就可以输入26个字母,然后一次性将26个字母输出;不带缓冲,你输入一个字母,他就会输出一个字母,直到你输入完,它就输出完;
输出目的地:输出目的地指你将结果输出到哪里,一般来说,屏幕,文件等等都是输出目的地,cout默认是输出到屏幕的,重定向就是可以改变输出目的地,比如说从屏幕改变到文件,cout是可以做到的,但是cerr不能重定向,它只能输出到屏幕;
2.从例子看区别例子:
//================================&#