系统文件,读写o创建自定义元数据或扩展属性

时间:2012-04-02 16:11:22

标签: c++ c linux filesystems

我正在寻找一种从任何文件中读取,编写或创建(自定义)标签,扩展属性或元数据的方法。没有库和语言c或c + +。我想我可以使用fopen,fread,fwrite,但不能访问元数据。

提前致谢,

1 个答案:

答案 0 :(得分:4)

Linux系统调用扩展属性的操作是setxattrgetxattrremotexattr。该计划可能会满足您的要求:

// 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;
}