讨论C语言中的Perror函数

707 阅读1分钟

本指南将讨论C语言中的perror函数,它如何工作,以及我们如何使用它。

perror函数根据errno中的错误状态,将错误信息打印到stderr流中。

基本用法

perror函数的语法是:

void perror(const char* str);

perror函数接受一个参数,它是一个指向空尾字符串的指针,其中包含一个关于错误的描述性信息。

提示:errno指的是一个系统变量,它存储了一个错误代码,描述了调用一个库函数所产生的错误情况。

<errno.h>头文件定义了由系统调用和一些库函数在发生错误时设置的整数变量errno,以表明出错的原因。

返回值

perror函数有一个无效的返回类型,一个由以下顺序组合而成的错误信息。

  • 传递给函数的字符串指针的值(str)。
  • 一个冒号(:)。
  • 一个完整的错误信息,描述错误代码的errno。
  • 一个新行字符(n

Perror例子

我们可以通过简单地打开一个不存在的文件来说明perror的工作。这个例子的代码是

#include <stdio.h>
#include <errno.h>

int main() {
    FILE *fileptr;
    fileptr = fopen("nothere.txt", "r");
    if (fileptr == NULL) {
        perror("[-]");
    }
    fclose(fileptr);
    return 0;
}

一旦我们运行上述代码,我们应该得到以下的例子输出。

[-]: No such file or directory

总结

这个快速教程讨论了如何使用perror函数来获取程序中遇到的描述性错误信息。