2010-09-01 106 views
0

这涉及读取目录.FS_info。使用readdir()。我正在尝试阅读.FS_info。目录和readdir()未能做到这一点。我怎样才能成功读取这个特殊的目录?readdir()读取失败.FS_info

+1

它返回什么错误?你可以发布一些代码吗? – dirkgently 2010-09-01 16:39:22

+0

你应该正确地标记你的问题,或者至少说明你的工作环境,作为你的问题的一部分。 C本身没有'readdir'功能。 – 2010-09-01 19:49:33

+0

对'readdir'的调用失败之后,使用'perror()'来更多地了解调用失败的原因。 – jkramer 2010-09-10 10:19:31

回答

1

从POSIX规格:

成功完成后,READDIR()返回一个指针型结构的dirent的对象。遇到错误时,将返回空指针并将errno设置为指示错误。

换句话说,errno应该告诉你究竟是什么问题。

我最好的猜测是,一个名为.FS_info的目录很可能包含有关文件系统本身的一些系统级信息,并且可能不希望用户在那里进行琐事。

但是,为什么文件系统实施者会保护这一点,而不需要额外的代码使它看不见将是一个谜。

底线,检查errno。如果这不能让您满意,请发布展示此行为的最短pcomplete程序以及有关您的环境(操作系统,文件系统类型,目录所在的目录,编译器,库等等)的详细信息。