Dateien einlesen
-
Hallo zusammen,
ich möchte gerne aus einer textdatei einen text einlesen
zum beispiel eine tabelle.hannelore musternachname 34 berlin musterstrasse 323 karl mustermann 54 Cottbus musterfeld 2
ich hab es wie folgt bis jetzt verwirklicht:
FILE *pf; char ausgabe; int i; pf = fopen ( "tabelle.txt", "r" ); if (feof(pf)) { break; } else for (i=0; i<=1000; i++) ausgabe = fgetc(pf); printf("%c", ausgabe);
das gefällt mir aber nicht ganz wegen der schleife das ist ehr geschummel als irgendwas anderes. wie kann ich das richtig verwirklichen?
mfg
Wodka-RedBull
-
uups falscher code das war mein zweiter versuch
so hier der code mit der angesprochenen schleif:FILE *pf; char ausgabe; int i; pf = fopen ( "tabelle.txt", "r" ); for (i=0; i<=534; i++) { ausgabe = fgetc(pf); printf("%c", ausgabe); }
mfg
WOdka-RedBull
-
Das sieht mir eher nach C aus und nicht nach C#. In C# gibt es deutlich bessere Möglichkeiten auf Daten zuzugreifen. Schau dir mal FileStream/WriteStream/ReadStream an.
Unter C solltest du die komplette Datei Zeile für Zeile (auf Eof prüfen) einlesen und bei jeder Zeile sscanf(...) verwenden. Etwa so:
while(!eof(file)) { //Zeile in char buffer[xy] einlesen sscanf(buffer, "%s %s %d %s %s %d", vorname, nachname, nummer, ...); }
Und das bitte als Pseudocode ansehen, da mein C bestimmt schon seit 3 Jahren aufm Dachboden schlummert ;).
P.S.: Hier würde sich wohl eine Struktur anbieten.