在linux中使用open()时,如何检测文件是否被禁止

时间:2014-09-23 02:44:46

标签: c linux

当我尝试未经许可打开文件时,open()会返回什么?

1 个答案:

答案 0 :(得分:4)

使用open函数时发生错误时,文件描述符设置为-1。

要找出检查ERRNO所需的特定错误。 (根据发生的错误,这将有不同的值)在你的情况下它将是EACCESS。

这就是代码,

fd = open ("file.txt",O_RDONLY);

if (fd == -1)
{
    if (ERRNO == EACCES)
    {
        printf ("Permission denied \n");
    }
}

希望这有帮助!