使用するアプリケーションサポートディレクトリを取得するための非常に単純なコードスニペットがあります。問題は、それが機能しないことです!で値を取得し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];
}