ich bastle mir gerade ein Programm zusammen um ein wenig besser in C rein zukommen. Dabei wollte ich eine Liste von Namen in einer Datei speichern. Da ich später aber vielleicht vorhatte mehrere Listen in der selben Datei zu speichern hab ich zu einer csv-Datei gegriffen (Xin hatte die glaube ich neulich irgendwo vorgeschlagen, da die einfach einzulesen sei).
Die Datei soll ungefähr so ausschauen wo bei die Zeilen unterschiedlich lang sind, also kein gleichmäßiges Muster haben.
Code: Alles auswählen
Horst;Dieter;Hans;Otto;Karl
Uschi;Frauke;Elke;Anne

Ich komme aber irgendwie nicht auf den passenden Formatstring, der mir jeden Namen einer Zeile liefert. Ich habe entweder immer eine Zeile als einen Eintrag oder immer nur den ersten Eintrag (also z.B. Horst) wenn ich %[^;] schreibe. Dummerweise läuft er dann auch in einer Unendlichschleife mit dem Code von unten.
Ich habe es jetzt erst mal damit es läuft auf ein Name pro Zeile abgeändert, aber das ist nicht das was ich gerne hätte

Das schaut dann so aus:
Code: Alles auswählen
while (fscanf(file, "%s\n",buffer) != EOF)
{
//verarbeite buffer
}
gruß stampuhh