perror ()- 打印错误消息

格式

#include <stdio.h>
void perror(const char *string);

语言级别

ANSI

线程安全

描述

perror() 函数将错误消息打印到 stderr。 如果 string 不是 NULL ,并且未指向空字符,那么 string 所指向的字符串将打印到标准错误流,后跟冒号和空格。 然后打印与 errno 中的值相关联的消息,后跟换行符。

要生成准确的结果,应确保在库函数返回错误后立即调用 perror() 函数; 否则,后续调用可能会更改 errno 值。

返回值

没有返回值。

errno 的值可以设置为:
含义
EBADDATA
消息数据无效。
EBUSY
记录或文件正在使用中。
ENOENT
找不到文件或库。
EPERM
权限不足,无法访问。
ENOREC
找不到记录。
EIOERROR
发生了不可恢复的I/O错误。
EIORECERR
发生了可恢复的I/O错误。

示例

此示例尝试打开流。 如果 fopen() 失败,那么示例将打印一条消息并结束程序。
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
   FILE *fh;
 
   if ((fh = fopen("mylib/myfile","r")) == NULL)
   {
      perror("Could not open data file");
      abort();
   }
}

相关信息