C语言—perror函数

在C语言中,perror 是一个库函数,用于显示与上一个系统调用相关联的错误描述。它是用于处理和显示来自 errno 变量的错误信息的。

当系统调用失败时,例如 openreadwrite 等,errno 会被设置为一个错误码,表示发生了什么错误。使用 perror 可以为用户显示一个与该错误码相关的描述性错误消息。

perror 的原型如下:

#include <stdio.h>

void perror(const char *s);

其中,s 是一个字符串,通常用于描述在哪里或为什么发生了错误。当 perror 被调用时,它会打印参数 s,后面跟一个冒号、一个空格和与当前 errno 值相关的错误消息。

示例:

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

int main() {
    FILE *fp;

    fp = fopen("non_existent_file.txt", "r");
    if (fp == NULL) {
        perror("Error opening file");
        exit(EXIT_FAILURE);
    }

    // ...其他代码...

    fclose(fp);
    return 0;
}

如果文件 "non_existent_file.txt" 不存在,上述代码会输出类似以下的错误消息:

Error opening file: No such file or directory

这里的 "Error opening file" 是我们提供给 perror 的描述,而 "No such file or directory" 是与 errno 值相关的系统错误消息。 

猜你喜欢

转载自blog.csdn.net/m0_73800602/article/details/133160399