2012-12-31 85 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