📅  最后修改于: 2023-12-03 14:39:50.263000             🧑  作者: Mango
perror()是C语言和C++语言中的一个错误处理函数,用于将当前错误代码和相应的错误信息打印到标准错误输出上。在C++中,perror()函数定义在
#include <cstdio>
void perror(const char* str);
perror()函数的参数是一个字符串,通常是包含程序名称的文本,在错误消息前打印这个字符串。如果str参数是NULL,则只输出相应的错误消息。
根据头文件<errno.h>中定义的全局变量errno的值,perror()函数输出错误消息。errno是表示发生错误时的错误码,perror()函数可以根据这个错误码输出具体的错误信息到标准错误输出上。输出的错误信息格式为:
str: 错误描述
其中,str是作为参数传递给perror()函数的字符串,错误描述来自于errno值。
下面是一个使用perror()函数的例子:
#include <cstdio>
#include <cerrno>
int main(){
FILE* fp = fopen("nonexistentfile.txt", "r");
if (fp == NULL) {
perror("Error opening file");
return errno;
}
fclose(fp);
return 0;
}
运行结果:
Error opening file: No such file or directory
perror()函数只能用于查看最后一次发生的错误,如果需要查看之前的多个错误,可以使用strerror()函数。
<errno.h>定义了另一个错误处理函数:strerror(),它根据错误码的值返回对应的错误消息字符串。