views:

149

answers:

1

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.

+3  A: 

Your problem is this:

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

It should be:

NSString *string = [NSString stringWithFormat:@"%@\r\n", [entry thisEntry]];
Dave DeLong
Yup! That was it...seems to work perfectly. Seems like a pretty dumb mistake on my part. Thanks again!
Kulpreet