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 OSでこのファイルを開くと. このように見えます..

\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 に答える