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 */ /*</