即使文件存在,open64()也会因ENOENT而失败

时间:2010-10-06 19:53:57

标签: 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");

1 个答案:

答案 0 :(得分:2)

什么是evtFile值?你不检查它。 errno仅在evtFile< 0