2012-03-14 47 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