• [字符串和内存函数]错误信息报告函数strerror详解


    strerror介绍

    strerror是一个C库函数,用于将错误代码转换为对的错误信息字符串。它接受一个整数参数errno,返回一个指向错误信息字符串的指针。 

    errno是一个全局变量,可以直接使用。它在C语言中用于表示发生错误时的错误码。它是一个整数,通常被定义为指向一个 extern int 类型的宏。当函数或系统调用发生错误时,它会被设置为相应的错误码,以便程序可以根据错误码进行适当的错误处理。

    errno错误码 

    `errno` 是一个全局变量,在C语言中用来表示发生的错误。它的取值是一个整数,各个操作系统和编译器可能有不同的取值范围和含义。下面是一些常见的 `errno` 错误码取值及其含义:

    1. 2(ENOENT):表示文件或目录不存在。
    2. 13(EACCES):表示权限不足,无法访问文件或目录。
    3. 9(EBADF):表示无效的文件描述符。
    4. 11(EAGAIN):表示资源临时不可用。
    5. 22(EINVAL):表示无效的参数。
    6. 12(ENOMEM):表示内存不足。
    7. 5(EIO):表示输入输出错误。
    8. 20(ENOTDIR):表示路径名不是一个目录。
    9. 17(EEXIST):表示文件或目录已存在。
    10. 28(ENOSPC):表示没有足够的空间。

    例子 

    以下是strerror函数的示例用法:

    1. #include
    2. #include
    3. #include
    4. int main() {
    5.     FILE *file = fopen("nonexistent_file.txt", "r");
    6.     if (file == NULL) {
    7.         int error_code = errno;
    8.         const char *error_message = strerror(error_code);
    9.         printf("Error: %s\n", error_message);
    10.     }
    11.     return 0;
    12. }

    输出为: Error: No such file or directory
     

  • 相关阅读:
    chatglm2微调—ptuning
    JAVA反射机制实现调用类的方法
    最新版web漏洞扫描工具AppScan\AWVS\Xray安装及使用教程
    详解MySQL事务日志——undo log
    算法-递归算法
    STM32--MQ2烟雾传感器
    降级、熔断和限流———一看就会
    【Mysql】 InnoDB引擎深入- 内存结构之ChangeBuffer | Log Buffer
    C/C++编译器工作原理
    HTB靶场之Sandworm
  • 原文地址:https://blog.csdn.net/caojunjia/article/details/132940916