我正在开发一个同步应用程序,当将它们放入我的应用程序时,我需要在每个文件的元数据中存储唯一的 id,这样我就可以在服务器和客户端之间匹配相似的文件,(使用名称匹配相似的文件不好,name 可以随时更改,但如果每个文件都有唯一的 id,即使文件被修改或重命名,我也可以识别相似的文件)
所以我需要知道如何将我的自定义属性(唯一 id)插入到 linux 和 windows 中的文件元数据中?是否有任何 c/c++ 库可以做到这一点?(我的应用程序是用 c++ 开发的)
我正在开发一个同步应用程序,当将它们放入我的应用程序时,我需要在每个文件的元数据中存储唯一的 id,这样我就可以在服务器和客户端之间匹配相似的文件,(使用名称匹配相似的文件不好,name 可以随时更改,但如果每个文件都有唯一的 id,即使文件被修改或重命名,我也可以识别相似的文件)
所以我需要知道如何将我的自定义属性(唯一 id)插入到 linux 和 windows 中的文件元数据中?是否有任何 c/c++ 库可以做到这一点?(我的应用程序是用 c++ 开发的)
我们的软件遇到了类似的问题,但在我们的案例中元数据很多,共享以防万一您也可以将它用于您的案例......
我们的每个文件现在都有一个元数据部分,并且它需要不由用户手动编辑该元数据,它由实用程序自动生成,如下所述(在每个文件的末尾)......
#if 0
/** METADATA **/
/**
<root>
<element1 attr1="" attr2=""....>
<subEleme1 attr1="" attr2="".../>
</element1>
<element2 attr1="" attr2=""..../>
</root>
**/
#endif
给你一个粗略的想法,在我们的例子中这个元数据太复杂了,你可以使用类似的东西吗?
我不确定我是否完全理解您的问题,但我相信您可以使用setxattr
系统调用系列来定义文件的扩展属性。