Question

For some strange reason, the \n and \r escape sequences do not seem to be working in my code. I want to write each NSString on a new line of the file, but it just appends it the last string on one line. Here's the code:

for (Entry *entry in self.entries) {
    NSString *path = @"/Users/me/File.txt";
    NSString *string = (@"%@\r\n", [entry thisEntry]);
    NSFileHandle *fh = [NSFileHandle fileHandleForWritingAtPath:path];
    [fh seekToEndOfFile];
    [fh writeData:[string dataUsingEncoding:NSUnicodeStringEncoding]];
    [fh closeFile];
}

Am I doing something wrong? Forgive me as I am new to Objective-C.

Was it helpful?

Solution

Your problem is this:

NSString *string = (@"%@\r\n", [entry thisEntry]);

It should be:

NSString *string = [NSString stringWithFormat:@"%@\r\n", [entry thisEntry]];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top