Joe*_*SHI 5 c++ console iostream standard-error
我有一个包含很多的程序std::cerr,它直接输出到我的终端。我想知道std::cerr和之间有什么区别std::cout。以及如何禁用std::cerr(我不希望它输出到我的屏幕)?
正如其他人提到的,如果这是一个类似Unix的系统,那么2> / dev / null会将stderr(2)重定向到天空中的大存储桶(/ dev / null)。
但是这里没有人解释stderr和stdout之间的区别是什么,所以我觉得有必要至少谈一下这个话题。
std :: cout是标准输出流。通常,这是您的程序应在其中输出消息的位置。
std :: cerr是标准错误流。通常用于错误消息。
这样,如果您的程序“包含许多cerr”输出,那么可能值得一看为什么打印了这么多错误消息,而不是简单地隐藏消息。当然,这是假定您不仅仅因为某种原因而碰巧会向stderr发出大量无错误输出的程序。