📜  C++ perror()(1)

📅  最后修改于: 2023-12-03 14:39:50.263000             🧑  作者: Mango

C++ perror()介绍

简介

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(),它根据错误码的值返回对应的错误消息字符串。

参考资料