错误码errno转成对应的错误信息描述

复制代码
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>

int main() {
    int fd, ret;
    enum { LENGTH = 100 };
    char buf[LENGTH];
    fd = open("/tmp/jia", O_RDONLY);
    if(fd == -1) {
        ret = strerror_r(errno, buf, LENGTH);
        if(ret == -1) {
            perror("strerror_r");
            printf("%s\n", strerror(errno));
        }
        else { /*success return 1*/
            printf("%s\n", buf);
        }
    }
    else {
        ret = close(fd);
        if(ret == -1) {
            perror("close");
            printf("%s\n", strerror(errno));
        }
    }

    return 0;
}
复制代码

 #include<unistd.h>行必须首先出现,因为它定义的与POSIX规范有关的标志可能会影响到其他的头文件。

posted @   东宫得臣  阅读(420)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示