函数
<cstdio>

perror

void perror ( const char * str );
打印错误消息
errno 的值解释为错误消息,并将其打印到 stderr(标准错误输出流,通常是控制台),可以选择在前面加上 str 中指定的自定义消息。

errno 是一个整型变量,其值描述了库函数调用产生的错误状况或诊断信息(C 标准库的任何函数都可能为 errno 设置一个值,即使此参考中未明确指定,即使没有发生错误),有关更多信息,请参阅 errno

perror生成的错误消息是平台相关的。

如果参数 str 不是空指针,则打印 str,后跟冒号(:)和一个空格。然后,无论 str 是否为空指针,都会打印生成的错误描述,后跟一个换行符('\n').

perror应该在错误产生后立即调用,否则它可能被其他函数调用覆盖。

参数。

str
包含要在错误消息本身之前打印的自定义消息的 C 字符串。
如果它是空指针,则不打印前面的自定义消息,但仍会打印错误消息。
按照惯例,应用程序本身的名称通常用作参数。

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
/* perror example */
#include <stdio.h>

int main ()
{
  FILE * pFile;
  pFile=fopen ("unexist.ent","rb");
  if (pFile==NULL)
    perror ("The following error occurred");
  else
    fclose (pFile);
  return 0;
}

如果文件unexist.ent不存在,您可能会期望类似这样的程序输出
The following error occurred: No such file or directory


另见