我已经读过这两个perror()并printf()写入终端屏幕.但是perror()写入stderr,同时printf()写入stdout.因此,要打印错误perror(),printf()可以在何时使用.
printf()不能写stderr. fprintf()能够. perror()总是这样.
没有要求写入任何一个stdout或stderr写入终端屏幕 - 这取决于实现(因为并非所有系统都有终端).也没有要求写入stdout并stderr导致写入同一设备(例如,一个可以重定向到文件,而另一个被重定向到管道).
perror()将通过内置的错误代码含义知识实现,由静态表示,errno标准库中的各种函数使用它来报告错误情况.特定值的含义是实现定义的(即它们在编译器和库之间有所不同).