Variablen erscheinen nicht nacheinander
-
Hallo,
habe folgende Funktion in einem Programm. Das Problem ist nun das unten beim
fprintf(save, "%s; %s; %s; %s; %s; ",eingeben[i].vorname ,eingeben[i].nachname,eingeben[i].plz,eingeben[i].ort,eingeben[i].telefon);
die daten nicht hintereinander sonder nach jeder variable wird ein Zeilenumbruch gemacht was aber eigentlich nicht sein sollte. Wie kann ich das ganze nun so abändern das er alles in eine Zeile schreibt und den nächsten Datensatz dann in eine neue Zeile. Wenn ich das mit fprint teste also nicht fprintf dann schreibt er es hintereinander aber mit fprintf nicht.
Wie kann ich das ganze nun abändern das es passt.
Danke für Eure HilfeGruß Braintee
void speichern(TMitglied * eingeben, int anz_mitg) { FILE *save; save=fopen("adressen.dat","w+t"); if( NULL == save) { fprintf(stderr, "Kann \"adressen.dat\" nicht oeffnen!\n"); getch(); } else { int i; for (i=0; i<10; i++) { fprintf(save, "%s; %s; %s; %s; %s; ",eingeben[i].vorname ,eingeben[i].nachname,eingeben[i].plz,eingeben[i].ort,eingeben[i].telefon); } } /* Wir geben File-Zeiger wieder frei */ fclose(save); }
Edit:
Bitte die Code-Tags benutzen. Danke!
-
Hast du dir deine Strings schonmal im Debugger angesehen?
-junix
-
Hi,
neine habe ich noch nicht wie geht das denn ???
Gruß anfänger123
-
Hier findest du ein Debug-Tutorial.
-junix
-
Das Problem ist folgendes: Wenn du dir die Strings zur Laufzeit ansiehst erkennst du folgendes Muster:
[cpp]<eingegebener String><Zeichen wie: #@*93><\n>[/cpp]
Weisst du in etwa was ich meine?
Weiter gehts. Wenn du einen String speicherst wird der Enter Tastendruck auch in selbigen gespeichert. Wenn du also den String in einer Datei abspeicherst, wird auch die neue Zeile (durch die gedrückte Entertaste) gespeichert.Hier hilft fflush(stdin);