跳转到内容

C 编程/stdio.h/perror

来自维基教科书,自由的教科书

POSIX 错误函数 perror 用于 C 和 C++ 中,根据存储在 errno 中的错误状态,向 stderr 打印错误消息。[1] 它打印 str 和与全局变量 errno 对应的实现定义的错误消息。

perror 的定义首次发布在 System V 接口定义的第 1 版中。

#include <stdio.h>
void perror(const char* prefix);
int fd = open("/etc/passwd", O_RDONLY);
if (fd == -1) {
    perror("open");
    exit(1); 
}

如果参数 prefix 不是 NULL,perror 将首先打印 prefix,后跟一个冒号和一个空格到标准错误。然后,它会打印 strerror 的结果到标准错误,后跟一个换行符。例如,上面的示例可能会打印

open: Permission denied

参考文献

[编辑 | 编辑源代码]
  1. ISO/IEC 9899:1999 规范 (PDF). p. 305, § 7.19.10.2.
[编辑 | 编辑源代码]
华夏公益教科书