基本上我正在进行html服务器分配,并且部分分配给出了“错误403 FORBIDDEN”消息,虽然我知道如何检查文件是否存在但如何检查它是否被禁止。
我正在做的是打开文件。
File* filein = fopen(pathname,"r");
请让我知道我可以做些什么来检查文件是否被禁止。
答案 0 :(得分:1)
禁止文件是不可能的我认为(例如chmod 440设置为没有运行服务器的用户),所以当你因为缺乏权限而无法打开文件时你可以通知用户c,c中的示例代码:
#include <stdio.h>
int main()
{
FILE *file = fopen("file.txt", "r");
if (file == NULL)
perror("Error");
fclose(file);
return 0;
}
请记住让文件无法访问 - 例如chmod 000 file.txt
答案 1 :(得分:0)
fopen()
如果失败则返回空指针。根据库实现,可以设置全局变量errno
以指示失败的原因。
通常,无效的文件权限会导致EACCES
错误,因此在fopen()
失败后,请检查errno
是否等于EACCES
(请记住#include <errno.h>
})。如果没有,由于与文件权限无关的其他一些错误,它可能无法打开。
Here是一个页面,其中包含您可以检查的其他一些错误常量。