Fragen zum Thema Datei auslesen
-
Ich bin schon die an heufigten gestellten Themen durchgegangen aber hab nichts passendes gefunden.
Ich hab im netz ein tutorial gefunden wie man Datein auslesen kann. Zu diesem Code hab ich eine frage.
#include "stdafx.h" #include "conio.h" int main(int argc, char* argv[]) { char name[50]; int alter; FILE *datei; if((datei = fopen("Personen.txt", "r")) == NULL) { printf("Die Datei konnte nicht geoeffnet werden!"); getch(); } else { while(fscanf(datei, "%s %d", name, &alter) != EOF) printf("%-10s%d\n", name, alter); fclose(datei); } getch(); return 0; }
und jetzt zu meiner Frage:
wie geht das wenn man weiß wie lange der name maximal sein darf und nur der name der in der datei steht auch wirklich in der variable name drinnen ist?Mit freundlichen Grüßen
Martin
-
mal ein kurzes HÄ??? von mir
beschreib mal was du vorhast deine frage verstehe ich nicht ist irgendwie kuddelmuddel
-
SORRY
Ich hab eine Datei. In der Datei steht der Vorname, Nachname, Geb.,... und ich will das in der Variable vname der Vorname der in der Datei drinnen steht in der Variable ist. Ich hoffe das man das jetzt besser versteht.
-
Wenn du die Werte (Name vMame Geb) erst reinschreiben moechtest würde ich dir folgendes empfehlen:
Du machst eine Struktur, in der du dann deine Daten sicherst. Zum Beispiel so:
struct Daten { char name[50]; char vname[50]; int alter; }temp;
Nachdem du dann die Werte eingegeben hast, schreibst du die Struktur anschliessend mit fwrite in deine Datei und liest sie, wenn du sie brauchst mit fread wieder aus.
Dann kannste auf die einzelnen Variablen zugreifen.
-
Oder du erzeugst anstelle eines binären files ein Ascii file in dem du deine Daten mit delimiter getrennt eingibst
Name,Vorname,alter\n
dies liest du zeilenweise mit fgets ein
zerlegst den gelesenen String an den Kommas in die Elemente und übertägst diese in deine DatenstrukturIch ziehe wo immer möglich Ascii Dateien Binaren Dateien vor.
Der Grund dafür ist Binäre Dateien haben zwar folgenden
Vorteil
kompakterer Code zum Lesen und Schreiben
allerdings auch folgende Nacheile
Nachteil
1 Änderungen an der Struktur erzeugen einen hohen Aufwand, da das komplette Datenfile reorganisiert werden muss.
2 es werden immer die Maximalzahl der Bytes geschrieben, das kann bei vielen Daten zu einer hohen Platzverschwendung führen, da ja die jeweiligen Einzelelemente am längst möglichen Eintrag orientiert werden müssen.
-
Danke Ihr habts ma sehr geholfen!!!
Mit freundlichen Grüßen
Martin