myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

c-Quelle - fscanf

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 07.12.09, 00:18   #5
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

da sind ein paar logische fehler drin. die will ich hier nicht im einzelndem aufdröseln ...
du kennst bestimmt schon funktionen, und wie man solche erstellt und verwendet.

dann erstell' dir funktionen:
FILE* datei_zum_lesen_und_schreiben_oeffnen(char* dateiname)
void datei_ausgeben (FILE* datei)
void daten_einlesen (FILE* datei)

dann sieht main() schonmal so aus:
Code:
FILE* datei_zum_lesen_und_schreiben_oeffnen(char* dateiname) {
 return fopen (dateiname, "a+"); /* ist a+ wirklich der gewünschte modus ? kann gut sein, bin mir aber nicht sicher */
}
void datei_ausgeben (FILE* datei) {
...
}
void daten_einlesen (FILE* datei) {
...
}

#define DATEI "Stud.txt"
int main (int av, char** av) {
 FILE* f;
 f = datei_zum_lesen_und_schreiben_oeffnen (DATEI);
 if (f != NULL) {
  datei_ausgeben (f);
  daten_einlesen (f);
 } 
 else {
  printf ("%s ließ sich offentsichtlich nicht erstellen!\n", DATEI);
 }
}
vorteil1: du kannst gezielt die einzelnen funktionen testen.
vorteil2: generell bessere übersichtlichkeit im quelltext.

ps: zum mode "a+" :
Zitat:
"a+": Open a file for reading and appending. All writing operations are performed at the end of the file, protecting the previous content to be overwritten. You can reposition (fseek, rewind) the internal pointer to anywhere in the file for reading, but writing operations will move it back to the end of file. The file is created if it does not exist.
probier einfach mal aus, eine nicht leere datei per "a+" zu öffnen und schau dann nach, ob feof(f) erreicht ist. wenn ja, dann must du per rewind erstmal den internal file pointer zurücksetzen bevor du per datei_ausgeben daten einliest ...

viel erfolg!
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 Uhr.


Sitemap

().