对象
<cstdio>

stderr

FILE * stderr;
标准错误流
标准错误流是错误消息和其他诊断警告的默认目的地。与 stdout 类似,它通常默认也定向到文本控制台(通常是屏幕)。

stderr可用作任何需要参数类型为FILE*并期望输出流的函数(如 fputsfprintf)的参数。

虽然在许多情况下 stdoutstderr都关联到同一个输出设备(例如控制台),但应用程序可以区分发送到 stdout 的内容和发送到stderr的内容,以防其中一个被重定向。例如,通常会将控制台程序的常规输出 (stdout) 重定向到一个文件,同时期望错误消息继续出现在控制台中。

也可以在程序内部使用 freopen 函数将stderr可以使用 freopen 函数在程序内部将其重定向到其他目的地。

stderr在启动时它永远不会是*完全缓冲*的。流默认是*行缓冲*还是*不缓冲*取决于库(参见 setvbuf)。


另见