C语言错误处理 #

一、errno变量 #

1.1 概述 #

errno是全局变量,存储最近一次错误码。

1.2 使用示例 #

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

int main() {
    FILE* fp = fopen("nonexistent.txt", "r");
    if (fp == NULL) {
        printf("错误码: %d\n", errno);
    }
    return 0;
}

二、perror函数 #

2.1 功能 #

打印错误信息。

2.2 示例 #

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

int main() {
    FILE* fp = fopen("nonexistent.txt", "r");
    if (fp == NULL) {
        perror("打开文件失败");
    }
    return 0;
}

三、strerror函数 #

3.1 功能 #

获取错误描述字符串。

3.2 示例 #

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

int main() {
    FILE* fp = fopen("nonexistent.txt", "r");
    if (fp == NULL) {
        printf("错误: %s\n", strerror(errno));
    }
    return 0;
}

四、常见错误码 #

错误码 说明
ENOENT 文件不存在
EACCES 权限不足
ENOMEM 内存不足
EINVAL 无效参数

五、总结 #

方法 说明
errno 错误码
perror 打印错误
strerror 错误描述

恭喜你完成C语言学习!

最后更新:2026-03-26