1

在我的应用程序中,

我以编程方式创建了 .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 在这里不起作用。如何解决这个问题?

在此处输入图像描述

4

3 回答 3

3

替换您的方法:

  [str writeToFile:pdfPath atomically:YES];

和:

 [str writeToFile:pdfPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
于 2013-10-24T13:31:57.630 回答
3

Windows(或更具体地说,记事本)使用回车/换行来显示新行。改用\r\n,你应该没问题。

于 2013-10-24T13:26:40.510 回答
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];
于 2013-10-24T13:30:38.977 回答