Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Lesen aus Datei(c/++)

Diablokiller999 / 4 Antworten / Flachansicht Nickles

Hi Guys,ich bin am verzweifeln,ich will auf einer per fprintf geschriebenen Datei die Werte lesen,in ein Array speichern und ausgeben lassen.Nur habe ich keinen blassen Schimmer wie das gehen soll.Hier das Progrämmchen:


void schreiben(int y[])
{ int i;
FILE *z;
z=fopen("highscore.txt","w");
for (i=0;i {
fprintf(z,"%d\\n",y[i]);
}
fclose(z);
}

int main(void)
{ int i,y[10];

for (i=0;i {scanf ("%d",&y[i]);
};
schreiben(y);
//Hier Lese-Funktion einfügen
return 0;
}

Klappt soweit Alles gut,aber könnte mir eventuell jemand eine "lese" Funktion einbauen die aus der highscore.txt liest und die Werte auf dem Bildschirm ausgibt?

bei Antwort benachrichtigen
martinx24 Diablokiller999 „Lesen aus Datei(c/++)“
Optionen

Hallo!
Hier mal meine Lösung des Problems:

#include &ltstdio.h>
#include &ltstdlib.h>
#include &lttime.h>

void zahlen_eingeben(void);
void kontrolle(void);
void schreiben(void);
void array_ueberschreiben(void);
void lesen(void);
void warten(int zeit);

int array[10];



int main(void)
{
zahlen_eingeben();
kontrolle();
schreiben();
array_ueberschreiben();
kontrolle();
lesen();
kontrolle();

return 0;
}



void zahlen_eingeben(void) //Eingabe von zehn Integer-Werten
{
for (int i=0;i {
printf("Bitte Zahl %d eingeben:\\n",i+1);
scanf ("%d",&amparray[i]);
fflush(stdin);
}
}

void kontrolle(void) //Kontrollausgabe der eingegebenen Werte auf dem Bildschirm
{
printf("\\n\\n***** Kontrollausgabe - Start *****\\n\\n");
for (int i=0;i {
printf("Zahl %d: \\t%d\\n",i+1,array[i]);
}
printf("\\n***** Kontrollausgabe - Ende *****\\n");
}

void schreiben(void) //Schreiben der Integer-Werte in eine Datei
{
FILE *ausgabe;
if ((ausgabe=fopen("c:\\\\highscore.txt","w"))==NULL) //Ist ein Fehler beim Öffnen aufgetreten?

{
fprintf(stderr,"\\nFehler beim Oeffnen der Datei!\\n");
warten(3);
exit(-1);
}

for (int i=0;i {
fprintf(ausgabe,"%d\\n",array[i]);
}

if(fclose(ausgabe)==-1) //Konnte die Datei wieder problemlos geschlossen werden?
{
fprintf(stderr,"\\nFehler beim Schliessen der Datei - Datenverlust moeglich!\\n");
warten(3);
exit(-1);
}
}

void array_ueberschreiben(void)
{
for (int i=0;i {
array[i]=0;
}
}

void lesen(void)
{
FILE *eingabe;
if ((eingabe=fopen("c:\\\\highscore.txt","r"))==NULL) //Ist ein Fehler beim Öffnen aufgetreten?

{
fprintf(stderr,"\\nFehler beim Lesen der Datei!\\n");
warten(3);
exit(-1);
}

for (int i=0;i {
fscanf(eingabe,"%d",&amparray[i]);
}

if(fclose(eingabe)==-1) //Konnte die Datei wieder problemlos geschlossen werden?
{
fprintf(stderr,"\\nFehler beim Schliessen der Lesedatei - Datenverlust moeglich!\\n");
warten(3);
exit(-1);
}
}


void warten(int zeit) //Wartefunktion
{
clock_t ziel;
ziel=(zeit*CLOCKS_PER_SEC)+clock();
while(ziel>clock())
;
}


Have a nice day!
Martin!

bei Antwort benachrichtigen