2012-03-14 29 views
1

返回const char *的各種libspotify API是否返回調用者擁有的字符串或被調用者擁有的字符串?libspotify和const char *生命週期/編碼

據我所知,正常的約定是const char *表示被調用者擁有它並且調用者可以使用它,但不一定依賴它的生命週期,並且不希望釋放它。

這是Spotify的模式嗎?

另外我在api.h文件中看到一些提到的字符串是UTF8編碼?我認爲在所有的API上都是如此,而不僅僅是明確提到它的那一個或兩個。

回答

3

1)const char *退貨歸libSpotify所有,除非另有說明。您不需要釋放()它們,如果您希望它們繼續存在,則應複製它們 - 例如,播放列表名稱更改時,播放列表名稱的const char *將被libSpotify釋放。 libSpotify FAQ的「添加自己的鎖」部分討論了這一點。

2)所有字符串都是UTF-8。

+0

非常感謝,正是我所期待的。 – 2012-03-15 17:13:47