逐行读取字符串的快速简单方法是什么?
我目前正在使用Xcode,但欢迎使用任何语言的解决方案。
作为参考,我更愿意创建一个允许我读取它的函数,就像可以从C#中的文件读取行一样:
lineString = handle.ReadLine();
答案 0 :(得分:2)
答案并未解释如何逐行阅读 LARGE 文本文件。 Objective-C中没有很好的解决方案来读取大文本文件而不将它们放入内存(这不是一个选项)。
在这些情况下,我喜欢使用c方法:
FILE* file = fopen("path to my file", "r");
size_t length;
char *cLine = fgetln(file,&length);
while (length>0) {
char str[length+1];
strncpy(str, cLine, length);
str[length] = '\0';
NSString *line = [NSString stringWithFormat:@"%s",str];
% Do what you want here.
cLine = fgetln(file,&length);
}
请注意,fgetln不会保留换行符。另外,我们+1为str的长度,因为我们想为NULL终止腾出空间。
答案 1 :(得分:1)