我想知道什么是相当的
CoreFoundation中的+[NSString stringWithContentsOfURL:usedEncoding:error:]
?
我知道这次我可以使用(__bridge NSString *)
这件事我觉得我的生活有点复杂,并且在Cocoa出来之前了解了一下这是怎么回事......:)
根据我的喜好,在objective-c中有几行可以制作一个东西
...
CFErrorRef error = NULL;
CFURLRef fileURL = CFBundleCopyResourceURL(bundle,
CFSTR("file"),
CFSTR("txt"),
NULL);
// Ugly piece of objc code in my whole C source file :(
NSError *nsError = (__bridge NSError *)(error);
NSString *nsString = [NSString stringWithContentsOfURL:(__bridge NSURL *)fileURL
usedEncoding:NULL
error:&nsError];
CFStringRef fileContents = (__brigde CFStringRef)nsString;
...
答案 0 :(得分:0)
您可以尝试使用
CFStringCreateFromExternalRepresentation
我会想象代码是这样的,
NSData *data = [NSData dataWithContentsOfFile:<path to your file>]
CFStringRef string = CFStringCreateFromExternalRepresentation(NULL, (CFDataRef)data, kCFStringEncodingUTF8);
理想情况下,要访问错误,您还可以使用NSData的dataWithContentsOfFile:options:error: