如何知道文件/目录是否隐藏在C语言的编程中

时间:2013-10-07 19:59:07

标签: c unix

我在C中创建一个模拟“ls -li”行为的函数,所以我必须知道文件或目录是否被隐藏而不显示它。

谢谢

3 个答案:

答案 0 :(得分:2)

按照惯例,隐藏文件以点(。)开头。 ls -a会显示它们。但正常的ls没有。 现代文件系统具有可以使文件隐藏的扩展属性(xttr)。 这是一个例子 http://man7.org/tlpi/code/online/dist/xattr/xattr_view.c.html

答案 1 :(得分:2)

正常隐藏的文件一开始就包含.

检查文件名的第一个字符是.是否为.,然后是隐藏文件。不显示该文件。

char *filenames[10];

for(i=0;i<10;i++) 
 if(filenames[i][0]!='.')
 //display filename

答案 2 :(得分:0)

检查文件名的第一个字符是否为点。以.开头的文件名在Unix中被认为是“隐藏的”,因为ls -a-A没有显示它们。