2011-11-28 73 views
0

我在編輯linux v2.18.8(CentOS5)以包含學校項目的文件屬性。我們必須實現的一個組件是列出所有屬性名稱(屬性是存儲在與文件相同級別的隱藏目錄中的文本文件)。linux在哪裏readdir?

只是一個例子:

this.jpg是/ Desktop/Testing中的一個文件。添加自定義用戶屬性時,會創建一個包含屬性的文件夾。所以,如果我添加屬性「Creator」並將它的值設置爲「bob」,您將獲得一個dir /Desktop/Testing/.this.jpg_attr/Creator(如果您打開Creator,它的內容將會是「bob」)。

我很感興趣,做的是在列出的屬性的文件夾的所有用戶創建屬性(或從例如/Desktop/Testing/.this.jpg_attr/的所有文件)我知道,我想用readdir調用,但我不知道在linux安裝程序中找到它。如果任何人都可以給我任何關於在哪裏尋找readdir的指導,我想我可以弄清楚如何操縱它。

我不想問任何代碼。只是READDIR所在的文件路徑,或系統調用READDIR的地方。

謝謝先進。

回答

10

這並不完全清楚你的意思。您要使用的readdir函數是標準庫的一部分,並且會自動鏈接。

也許你在問如何包含聲明readdir的頭文件。在這種情況下:

#include <dirent.h> 

你可以得到有關使用此命令的readdir功能的更多信息:

man 3 readdir 
+0

啊好的。所以readdir本身不是系統調用呢? – NuGy

+0

我想我現在明白了......我一直在尋找這種各種各樣的錯誤...非常感謝你的澄清哈哈。 – NuGy

+1

有一個低級的'readdir'系統調用,但它是Linux特有的,並沒有簡單的方法來調用它。你想使用'dirent.h'中定義的可移植POSIX'readdir'庫調用。 –

0

系統調用是getdents(2),但是你應該繼續使用readdir包裝的便攜性。