2012-04-02 38 views
1

系統文件,讀寫o創建自定義元數據或屬性擴展

我正在尋找一種方式來從任意文件讀取,寫入或創建(自定義)標籤,擴展屬性或元數據。沒有圖書館和語言c或C++。我想我可以使用fopen,fread,fwrite,但不知道如何訪問元數據。

由於提前,

+1

歡迎來到堆棧溢出。你可以更具體地說明你正在談論的元數據或屬性嗎?你是指你正在創建和存儲的元數據嗎?或操作系統正在管理的元數據?您使用什麼操作系統? – 2012-04-02 16:14:12

+0

我的意思是我正在創建和存儲元數據。我的SO是Linux。 – Juan 2012-04-02 16:27:28

+0

因此,您只需創建將保存元數據的文件並寫入該文件即可。你能告訴我們你試圖做什麼,以及你卡在哪裏? – 2012-04-02 16:30:56

回答

4

Linux系統要求操作擴展屬性是setxattrgetxattr,和remotexattr。這個程序可能會做你所要求的:

// UNTESTED 
#include <sys/types.h> 
#include <sys/xattr.h> 
#include <cstring> 
#include <cstdio> 

int main() { 
    const char* file = "/work/a.txt"; 
    const char* attr = "user.MyAttr"; 
    const char* value = "MyValue"; 
    int rc = setxattr(file, attr, value, strlen(value), 0); 
    if(rc < 0) 
    perror(file); 
    return !!rc; 
} 
+0

感謝羅布我會嘗試。 – Juan 2012-04-02 16:58:54

+0

屬性名稱*可能*必須以'「user」爲前綴。「,我不確定。 – 2012-04-02 17:00:27

+0

如果Rob在工作,則前綴「user」是強制性的。我在業餘時間做這個項目。 **感謝** Rob。然後我告訴你。 – Juan 2012-04-03 09:25:43

相關問題