Daten von Textdatei in verschiedene Strings lesen
-
Wenn die Textdatei so aussieht, dann sind die Zeilen mit einem '\n' abgeschlossen.
Schreibst du die Textdatei selbst oder wo kommt die her.
Es ist wichtig zu wissen, ob Maximallängen für
- eine Zeile
- für die Namen
gegeben sind.Dann kann das Einlesen vereinfacht werden.
-
wieso verzweifelt, ist das ne hausaufgabe ?
-
Leider ja...
Danke für die Lösung. Probier ich sofort aus.
-
darfst du malloc benutzen ?
oder haben die zeilen eine maximale länge ?
-
Funktioniert. vielen Dank. Auch für die Mühe!
-
Wie könnte ich jetzt, um das kleine i-Tüpfelchen noch zu bekommen, eine eventuelle Kommentierung "auslöschen"? Einfaches hinzufügen von # zu delim? Also alle Zeilen, welche mit # beginnen.
-
gnome.gemini schrieb:
Wie könnte ich jetzt, um das kleine i-Tüpfelchen noch zu bekommen, eine eventuelle Kommentierung "auslöschen"? Einfaches hinzufügen von # zu delim? Also alle Zeilen, welche mit # beginnen.
Ein bischen musst Du schon selbst machen. Sonst ist der Lerneffekt quasi 0.
-
OK. Danke...
Eine Frage noch. Ich verstehe nicht, was Du in Zeile 24 machst...Meine Struktur lieg in einer anderen Datei, welche ich per #include mit eingebunten habe. Wenn ich jetzt
struct record records;
mache, so meint der Compiler, "storage size of 'records' isn't known".
Was meint der wieder. Ich hasse Strukturen und Pointer...
-
es kommt darauf an, *wo* du diese Zeile sich befindet. Wo hast du sie?
-
mal ne bläde frge, würde das nich funktionieren
typedef struct record { char name[50]; char vorname[50]; char tel[30]; char wohnort[80]; char Kommentar[80]; }record_t; //... schleife sscanf (acBuf,"%s;%s;%s;%s#%s",record_t.name, record_t.vorname, record_t.tel, record_t.wohnort, record_t.Kommenatr);
hab noch nie mit sscanf gearbeitet.
strtok wäre dynamischer
-
BorisDieKlinge schrieb:
mal ne bläde frge, würde das nich funktionieren
Prüft die Bufferlängen leider nicht. Funktionieren würde es aber.
-
Die Struktur befindet sich in einer anderen Datei, in der noch weitere Strukturen erzeugt werden. Diese binde ich mit #include ein.
Anschließend versuche ich ein struct record p_record[50];
Der Compiler meint in dieser Zeile "error: array type has incomplete element type". Was ist das?
-
Ich habe dies umgeändert in:
struct record p_record;
und nun funktioniert es. Jedoch bekomme ich vom gcc die Warnung:
error: subscripted value is neither array nor pointer
Was ist da wieder falsch?
Ich greife auf die Struktur so zu:entry[0] = p_record[record_count].Name
Ich bekomm die Krise mit den Pointern und Arrays...