ios下似乎没有readLine方法,下面是我自己写的模拟java中的BufferedReader类的readLine的代码。
#import <Foundation/Foundation.h>
@interface BufferedReader : NSObject{
char buffer[4096];
}
-(id)init:(NSString*)path;
-(NSString*)readLine;
@end
#import "BufferedReader.h"
static int charsRead = 0;
static FILE *file;
@implementation BufferedReader
-(id)init:(NSString*)path{
if (self = [super init]) {
NSString* realPath = [[NSBundle mainBundle] pathForResource:path ofType:nil];
file = fopen([realPath UTF8String], "r");
}
return self;
}
-(NSString*)readLine{
NSString* result;
memset(buffer, 0, charsRead);
do
{
if(fscanf(file, "%4095[^\n]%n%*c", buffer, &charsRead) == 1)
result = [NSString stringWithCString:buffer encoding:NSUTF8StringEncoding];
else{
result = nil;
break;
}
} while(charsRead == 4095);
return result;
}
@end