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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Alternativ
Warten Sie, es funktioniert nicht. Gibt mir ein "segmentation fault"
Mein Herz blutet. Verwenden Sie einen debugger.
InformationsquelleAutor cnicutar
Hier eine voll funktionierende Lösung, vorausgesetzt
plist1.txt
enthält eine Zeile text pro Zeile.fgets()
wird standardmäßig auch eine newline am Ende, dass Sie benötigen, um loszuwerden. Es ist auch eine gute Idee, die Verwendung von symbolischen Konstanten, so dass Sie Sie ändern können, später einfach, wenn Sie so wollen.Können Sie nach Ihren plist1.txt du bist arbeiten mit? Hier ist meins: Hallo\n Hello world\n Hallo\n Prüfung
wohl Ihr TOT ist zu groß
Danke für deine Lösung!
InformationsquelleAutor Ambidextrous
Bitte anschauen
http://www.daniweb.com/software-development/c/code/216411
InformationsquelleAutor kochobay