2011-11-21 7 views
-5

У меня есть текстовый файл, который имеет данные в формате ниже:
Как читать форматированную строку из текстового файла?

int string string 
int string string 
int string string 
. 
. 
. 
. 
int string string 

мне нужно прочитать файл построчно и сохранить данные в соответствующие массивы. Это должно быть сделано в ObjectiveC ...

outputString = [NSString stringWithContentsOfFile:filePath 
             encoding:NSUTF8StringEncoding error:NULL]; 

Я попытался код, приведенный выше, но это дает все содержимое файла в один NSString. Также, если я использую [outputString componentsSeparatedByString:@"\n"];, я собираюсь получить массив с выделенными линиями.

+0

'outputString = [NSString stringWithContentsOfFile: Filepath кодирование: ошибка NSUTF8StringEncoding: NULL];' –

+2

Звучит как домашнее задание, выглядит как домашнее задание ... – Cyrille

+0

'outputString = [NSString stringWithContentsOfFile: filePath encoding: NSUTF8StringEncoding error: NULL];'
Я сделал это, но это дает все содержимое файла в одну NSString.
Также, если я использую [outputString componentsSeparatedByString: @ "\ n"]; Я собираюсь получить массив с выделенными линиями. –

ответ

0

нормально так это то, как я это сделал ... Я просто использовал тот факт, что ObjC является надстройкой C

char personName[256]; 
char imgFilename[512]; 
int personNumber; 

NSArray *array = [outputString componentsSeparatedByString:@"\n"]; 
int lines = [array count]; 
FILE *file = fopen([filePath UTF8String],"r"); 
for (int i = 0; i<lines; i++) { 
    fscanf(file,"%d %s %s",&personNumber, personName, imgFilename); 
    NSLog(@"From Fscanf %d %s %s",personNumber,personName,imgFilename); 
} 
fclose(file); 
Смежные вопросы