用c语言隐藏文件

时间:2012-12-05 18:32:08

标签: c linux fopen

我正在使用ubuntu linux,我只是一个初学者是c语言我创建了一个程序,当在文件夹内启动时创建一个锁文件,但文件和文件夹都是[DOT]像.folder和.file和linux隐藏了这样的文件和文件夹,我有另一个程序,检查文件是否存在,如果它存在,那么程序正在运行,如果没有,那么这里不简单就是我的代码

FILE* lockfile = fopen("/.folder/.lock", "r");
if (!lockfile) {
    printf("Cannot find lock file");
} else {
    printf("lock file found");
}

该文件夹位于根目录中,我只是想读取文件,所以我给了“r”作为访问我做了很多搜索,但只找到了基于Windows的程序的答案,任何人都可以指出我错在哪里或任何它的解决方案? 我如何通过c?

读取linux中的隐藏文件和文件夹

编辑:添加图片以使事情更清晰

folder http://i47.tinypic.com/2z9cvpl.png

.folder目录,它拥有当前用户的所有权限

file http://i47.tinypic.com/23j6747.png .lock文件还具有当前用户的读取权限,因此我不认为该权限存在问题,或者我仍然错了?

2 个答案:

答案 0 :(得分:4)

i just wanna read the file so i gave "r" as the access

这是问题所在。如果您只有 读取(r)对文件夹的访问权限,则只能列出(ls)其中的内容,而不能读取或写入其中的任何文件夹。这就是fopen失败的原因。

如果要读取其中的文件,还应该对该目录赋予执行(x)权限。因此该目录将同时具有读取和读取功能。执行权限(rx)。

答案 1 :(得分:3)

* nix中没有“隐藏”文件。前导点是一种惯例,后面是禁止显示的工具,但它们与系统中相同类型的任何其他文件系统对象没有区别。

相关问题