我正在使用ubuntu linux,我只是一个初学者是c语言我创建了一个程序,当在一个文件夹中启动时创建一个锁文件,但文件和文件夹都与[DOT]一样.folder和.file和linux隐藏这样的文件和文件夹,我有另一个程序,检查文件是否存在,如果它存在,那么程序正在运行,如果它不是那么简单这里是我的代码用c语言打开隐藏文件
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
文件还具有读取权限对于当前用户,所以我不认为这是有问题的权限,或者我仍然是错的?
'fopen'打开以点开头的文件名没有问题。 – cnicutar
请运行'ls -al/.folder/.lock'。我想象的权限不是你的想法。 – djechlin
@cnicutar - 我不知道,但它总是说找不到锁文件只是这件事是我真的不明白它有什么问题 @djechlin - 如果我在像'ls -al /这样的终端中运行该命令。文件夹“,然后它显示.lock文件,但我从来不知道你可以在'fopen'运行命令也 –