open()打开文件失败对应的各种错误码

本文介绍了在C/C++和PHP中,当使用open()函数打开文件失败时可能出现的各种错误码。通过实例展示了如何获取错误信息,并讨论了与之相关的errno头文件的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

open()打开文件失败错误码:

获取错误信息实例:

    HANDLE hFile = 0;
    hFile = open(“c:\test.txt”, O_RDWR, S_IRWXU|S_IRWXG|S_IRWXO);
        if (-1 == hFile)
        {
            
            printf("Error %d: Failed to open file\n", errno);

            
            
            if (errno == EEXIST )
            {
               printf("EEXIST 参数pathname 所指的文件已存在, 却使用了O_CREAT 和O_EXCL 旗标. \r\n");
               
            }else if(errno == EACCES)
            {
                 printf("EACCESS 参数pathname 所指的文件不符合所要求测试的权限.\r\n");
                  
            }else if(errno == EROFS)
            {
                 printf("EROFS 欲测试写入权限的文件存在于只读文件系统内.\r\n");
            }else ......
    
            
            
            
        }
        

注:使用errno 需要加上头文件:

#include <errno.h> 

#define    EPERM         1        /* Operation not permitted */
#define    ENOENT         2        /* No such file or directory */
#define    ESRCH          3        /* No such process */
#define    EINTR          4        /* Interrupted system call */
#define    EIO            5        /* Input/output error */
#define    ENXIO          6        /* Device not configured */
#define    E2BIG          7        /* Argument list too long */
#define    ENOEXEC        8        /* Exec format error */
#define    EBADF          9        /* Bad file descriptor */
#define    ECHILD         10        /* No child processes */
#define    EDEADLK        11        /* Resource deadlock avoided */
                    /*</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值