Lesen von Zeilen aus einer Datei und setzen Sie in ein string-array

Was ich tun möchte, ist in der Lage sein, zu Lesen eine Zeile aus einer Datei, und kleben Sie es in ein array von strings. Dies ist, was ich habe, so weit, aber es scheint nicht zu funktionieren.

...
char line [128];
char file [10][128];

plist = fopen("plist1.txt", "r");

while(fgets(line, sizeof line, plist) != NULL){
   file[i][0]= line;
   i++;
}

Versuchte ich tun file[i][0] = *line; und ich war in der Lage, drucken Sie das erste Zeichen in jeder Zeile. Ist dies der beste Weg, das zu tun, was ich versuche zu tun?

Auch, die Anzahl der Zeilen in einer text-Datei variieren, so würde ich gerne mein array variabler Länge anstelle von 10.

EDIT: ich habe versucht, zwei Lösung unten aufgelistet. Beide geben mir einen segmentation fault Umgang entweder mit strcpy oder die Funktion fgets.

1.  while (fgets(file[i], sizeof(file[i]), plist))
       i++;

2.  while (fgets(line, sizeof(line), plist)){
       strcpy(file[i], line);
       i++;
    }

InformationsquelleAutor user972276 | 2012-01-23

Schreibe einen Kommentar