客观的c-iPhone读取文件-奇怪的行为



所以我有一个名为answers.txt的文件,它看起来像这样:

1:A
2:B
3:BC
......

所以一束线被一条新的线分开

我使用此代码将线路放入NSArray:

NSStringEncoding encoding;
NSError* error;
NSString* myString = [NSString stringWithContentsOfFile:filePath usedEncoding:&encoding error:&error];  
NSArray *lines = [myString componentsSeparatedByString:@"n"];

该文件是以unix风格编写的,因此行由n而不是rn 分隔

现在解决问题:

当我在模拟器上构建时,如果我在rn处拆分,我会得到一个正确的行数组,如果在n处拆分,就会得到一个不正确的数组(我的意思是它确实在n处拆分,但随后我在:处再次拆分每一行,第二个元素在末尾有一个换行符)

当我在设备上构建时,它的作用正好相反(它在n处正确拆分,如果我在rn处拆分,我只得到一个元素-可能是因为文件中没有r

我是不是遗漏了什么?

令人惊讶的是,模拟器和设备有不同的行为,但你可以通过使用以下方法来克服这个问题:

[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

这是文件。

最新更新