Re: Auslesen einer Datei
- From: "Joachim Schmitz" <nospam.jojo@xxxxxxxxxxxxxxxxxx>
- Date: Sat, 16 Aug 2008 12:28:55 +0200
Tom Seidel wrote:
Hallo!
Ich möchte gerne eine Datei auslesen, die folgendes Format besitzt:
NAME1,VORNAME1,ORT
Diese Dateien werden als dann in einem Array des Typ DESC[100]
gespeichert, worunter sich folgende Struktur verbirgt:
typedef struct {
char *name;
char *vorname;
char *ort;
} DESC;
Je nachdem wie viele Zeilen die Datei besitzt, werden also von den 100
möglichen Array-Elementen 1, 2, 3, n (mit n < 100) Elemente befüllt.
An einer anderen Stelle möchte ich nun die Werte dieses Arrays wieder
ausgeben, weiß aber nicht, wie ich das Ende der Beidingung für die
for-Schleife formulieren soll:
for(i = 0; i < 100, i++) {
printf("Name: %s, Vorname: %s, Ort: %s", array[i].name,
array[i].vorname, array[i].ort);
}
Hier kommt es natürlich so einem Fehler, sobald array[i] nicht mehr
einen Wert besitzt.
Wie umgeht man nun ein solches Problem?
Entweder durch Merken wieviele Elemente eingelesen wurden (und dan die
Ausgabeschleife nicht bis 100 sondern nur bis zu dem gemerkten Wert laufen
lassen), oder durch eine Ende Markierung, d.h. den n+1 ten Eintrag beim
Einlesen mit NULL besetzen (bzw. das gesammte Array mit 0 initialisieren)
und dann bei der Ausgabe (zusätzlich) darauf abprüfen:
for(i = 0; i < 100 && array[i].name != NULL, i++) {
printf("Name: %s, Vorname: %s, Ort: %s", array[i].name,
array[i].vorname, array[i].ort);
}
Danke für die Antworten!
Tschö, Jojo
.
- Follow-Ups:
- Re: Auslesen einer Datei
- From: Uwe Borchert
- Re: Auslesen einer Datei
- References:
- Auslesen einer Datei
- From: Tom Seidel
- Auslesen einer Datei
- Prev by Date: Auslesen einer Datei
- Next by Date: Re: Auslesen einer Datei
- Previous by thread: Auslesen einer Datei
- Next by thread: Re: Auslesen einer Datei
- Index(es):
Relevant Pages
|