使用するアプリケーションサポートディレクトリを取得するための非常に単純なコードスニペットがあります。問題は、それが機能しないことです!で値を取得しCFArrayRef
(後でC ++アプリケーションでこのスニペットを使用するためCコードを使用したいため)、を使用して最初の文字列を取得しようとしますCFArrayGetValueAtIndex()
。返さvoid*
れたものchar*
をCスタイルのキャストを使用してに変換し、を使用して出力しようとしましprintf()
たが、何も出力されません!誰かが理由を説明できますか?私はドキュメントをオンラインで調べCFArray
て問題をグーグルで検索しようとしましたが、何も思いつきませんでした。どんな助けでも本当にありがたいです!
コード:
#include <Foundation/Foundation.h>
#include <typeinfo>
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
CFArrayRef array = \
(CFArrayRef)NSSearchPathForDirectoriesInDomains(
NSApplicationSupportDirectory,
NSUserDirectory,
YES);
char* string = (char*)CFArrayGetValueAtIndex(array, 0);
printf("string: %s\n", string);
[pool drain];
}