C++官网参考链接:https://cplusplus.com/reference/cstdio/perror/
函数
<cstdio>
perror
void perror ( const char * str );
打印错误消息
将errno的值解释为错误消息,并将其打印到stderr(标准错误输出流,通常是控制台),可选地在其前面加上str中指定的自定义消息。
errno是一个整型变量,其值描述了调用库函数产生的错误条件或诊断信息(C标准库的任何函数都可以为errno设置值,即使在本参考中没有显式指定,即使没有发生错误),有关更多信息,请参阅errno。
perror产生的错误消息与平台相关。
如果形参str不是空指针,则输出str后跟冒号(:)和空格。然后,无论str是否是空指针,生成的错误描述都会被打印出来,后面跟着换行符('\n')。
perror应该在错误产生后立即被调用,否则它会被调用其他函数所覆盖。
形参
str
C字符串,包含要在错误消息本身之前打印的自定义消息。
如果是空指针,则不打印前面的自定义消息,但仍然打印错误消息。
按照约定,应用程序本身的名称通常用作实参。
返回值
没有返回值。
用例
/* perror example */
#include
int main ()
{
FILE * pFile;
pFile=fopen ("unexist.ent","rb");
if (pFile==NULL)
perror ("The following error occurred");
else
fclose (pFile);
return 0;
}
如果unexist.ent文件不存在。类似的结果可能会作为程序输出: