我正在将字符串写入文件,如下所示:
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt", nameOfFile]];
[fileString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
由于某些原因,TextEdit无法识别
NSUTF8StringEncoding
。如何确定呢?不胜感激,Fabian
最佳答案
我刚刚重新创建了您的代码,它对我来说很好用。 TextEdit可以很好地读取文件。
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *fileString = @"Blah blah.";
NSString *nameOfFile = @"blah";
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt", nameOfFile]];
printf("fileString:\n%s\n", [fileString UTF8String]);
printf("docsDirectory:\n%s\n", [docsDirectory UTF8String]);
printf("path:\n%s\n", [path UTF8String]);
/*
fileString:
Blah blah.
docsDirectory:
/Users/daniel/Documents
path:
/Users/daniel/Documents/blah.txt
*/
[fileString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
[pool release];
return 0;
}
我唯一能想到的是您的TextEdit首选项,这是我的: