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 2ich 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.