c - 即使文件存在,open64() 也会失败并显示 ENOENT

标签 c file-io

我正在尝试打开刚刚使用 open64() 创建的文件。当我尝试打开该文件时,系统调用失败并显示 ENOENT。我知道该文件确实存在,因为我刚刚创建了它,并且 ls 将其显示在它应该所在的目录中。当我尝试使用 open() 打开它时,它失败并出现 EOVERFLOW,这是预期的,但它也意味着该文件存在。有任何想法吗?

const char* filename = pDt->evtfname;
int evtFile;
evtFile = open64(filename, O_RDONLY); 
perror("The following error occurred");

最佳答案

evt 文件的值是什么?你不检查它。 errno 仅在 evtx 文件 < 0

时有效

关于c - 即使文件存在,open64() 也会失败并显示 ENOENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3876322/

相关文章:

c - 字符串比较,系统调用读取

objective-c - 如何交换big 到主机int8 数字?

c - F_GETFL 和 F_SETFL 的使用

c# - 在 ASP.NET Core 3.1 中上传和下载大文件?

程序退出后核心转储

c - 是否可以不使用任何数组将整数值分配给指定地址?

c - GDK:如何刷新透明背景?

java - 文件读/写问题

c++ - 如何在 C++ 中将二进制读/写转换为非二进制读/写

java - 如果拒绝打开文件名中包含特殊字符的文件,如何修复 java?