在我的申请中,
我以编程方式创建了.txt文件。文件创建成功。但是\ n在此文件中不起作用。
我使用了以下代码。
NSString *str=[NSString stringWithFormat: @"line 1 \nline 2 \nline 3"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",@"REFINESEARCH"]];
[str writeToFile:pdfPath atomically:YES];
当我在mac中打开REFINESEARCH.txt文件时,它会正常工作。 但是当我在Windows操作系统中打开此文件时。它看起来像这样..
\ n在这里不起作用。 怎么解决这个?
答案 0 :(得分:3)
Windows(或更具体地说,记事本)使用回车/换行来显示新行。请改用\r\n
,你应该没问题。
答案 1 :(得分:3)
替换你的方法:
[str writeToFile:pdfPath atomically:YES];
使用:
[str writeToFile:pdfPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
答案 2 :(得分:1)
将您的代码修改为仅(\ r)将起作用,只需将\ n替换为\ r并尝试: -
NSString *str=[NSString stringWithFormat:@"line 1 \rline 2 \rline 3"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",@"REFINESEARCH"]];
[str writeToFile:pdfPath atomically:YES];