2012-12-31 54 views
2

晚上好,通过tablib属性图迭代

最近我找到了taglib库。这是一个非常不错的选择,但我找不到在属性图中获取未知键的键和值的可能性(换句话说就是迭代地图)。

此代码是用于获取地图:

TagLib::FileRef file(file_path); 
TagLib::PropertyMap map = file.tag()->properties(); 

任何想法?

回答

2

可以遍历你迭代一个标准集装箱相同的方式:

for (auto it = map.begin(); it != map.end(); it++) { 
    // Do something with it. 
} 

文档显示PropertyMap延伸List<T>,这似乎满足所有容器的需求。

+0

那么,你是对的,但原因似乎是错的。在头文件中,它从Map 开始,它提供开始和结束,而不是从List或StringList。我其实不明白图表显示的是什么...无论如何感谢您的答案! – user1678062

+0

我相信你有一个有效的观点。我只是检查它,文档与源文件分开。很奇怪!无论如何,解决方案应该是一样的。你可以访问'it-> first'(key)和'it-> second'(value)。 – jweyrich