Bedingtes Datei einlesen
Hallo,
nachfolgendes Programm erzeug eine Datei zeisa.txt in der die
ASCII-Codes der Zeichen (=Ordnungszahlen) 32 bis 255 aufgelistet sind.
Soweit so gut.
Beim Einlesen der Datei soll nach der Haelfte der eingelesen Zeichen
eine Pause gemacht werden.
In einem anderen Uebungsprogramme habe ich dies mit
if ((ordnungszahl-32)/16 == 7) getchar();
gemacht. Wie mache ich das jetzt wenn ich die Datein einlese?
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
/**************************************************************************/
/* Datei anlegen und Zeichensatz abspeichern - Schliessen der Datei */
/**************************************************************************/
FILE *ei_kan, *au_kan;
char dateiname[]="zeisa.txt";
char msg[50];
int ascii;
if (( au_kan=fopen (dateiname,"w")) ==0)
{
sprintf(msg,"\n Fehler beim Öffnen der Datei\n");
fputs (msg, stderr);
return 1;
}
int ordnungszahl, zeilenzahl;
for(ordnungszahl=32; ordnungszahl<255; ordnungszahl=ordnungszahl+16)
{
for(zeilenzahl=0; zeilenzahl<16; zeilenzahl=zeilenzahl+1)
fprintf(au_kan,"%4d", ordnungszahl+zeilenzahl);
fprintf(au_kan,"\n");
for(zeilenzahl=0; zeilenzahl<16; zeilenzahl++)
{
fprintf(au_kan,"%4c", ordnungszahl+zeilenzahl);
}
fprintf(au_kan,"\n\n");
}
fclose (au_kan);
/**************************************************************************/
/* Lesen aus d. Datei und ausgeben auf d. Bildschirm - Schliessen d. Datei*/
/**************************************************************************/
if (( ei_kan=fopen (dateiname,"r")) ==0)
{
sprintf(msg,"\n Fehler beim Öffnen der Datei\n");
fputs (msg, stderr);
return 1;
}
while (ascii !=EOF)
{
ascii = fgetc(ei_kan);
putc(ascii, stdout);
}
}
fclose(ei_kan);
}
Für eure Hilfe im voraus vielen Dank.
Mit freundlichem Gruss
Volker Duetsch
--
Volker Duetsch
eMail:volker.duetsch@gmx.de
http://www.linuxclass.de - eMail:info@linuxclass.de
Reply to: