bauee
Bekanntes Mitglied
Hi Leute,
habe ein Prgramm geschrieben was mir Zeichenweise Datei1 in Datei2 kopiert und dabei alle nichtdruckbaren Zeichen rauslöscht. Dies mach ich z.B. mit der Funktion isgraph(). Nun ist da das Problem, dass alle ä,ü,ö von Datei1 auch nicht mitkopiert werden.
In der Ascitabelle die ich habe sind diese Zeichen auch nicht drin! Sag ich im Programm er soll auch kopieren wenn es ein 'ä' zeichen ist kopiert er es auch nicht!
Wer kann mir da helfen?
Hier der code bis jetzt:
//Programm liest zwei Dateien auf der Kommandozeile ein
//das Prog. kopiert Datei1 in Datei2 und löscht beim
//kopieren alle nicht druckbaren Zeichen raus! Zwischen
//den Wörtern wird ein Leerzeichen eingefügt.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char*argv[]){
FILE *in, *out;
char zeile[200];
int zeich,a=1;
if(argc != 3){
fprintf(stderr, "ussage bla..");
exit(1);
}
if((in = fopen(argv[1],"r"))==NULL)
fprintf(stderr, "Fehler beim oeffnen von Datei1");
if((out = fopen(argv[2],"a"))==NULL)
fprintf(stderr, "Fehler beim oeffnen von Datei2");
while((zeich=getc(in)) != EOF)
if (isgraph(zeich)||zeich=='ä'){
a=0;
putc(zeich, out);
}
else if (a!=1){
putc(' ', out);
a=1;
}
}
habe ein Prgramm geschrieben was mir Zeichenweise Datei1 in Datei2 kopiert und dabei alle nichtdruckbaren Zeichen rauslöscht. Dies mach ich z.B. mit der Funktion isgraph(). Nun ist da das Problem, dass alle ä,ü,ö von Datei1 auch nicht mitkopiert werden.
In der Ascitabelle die ich habe sind diese Zeichen auch nicht drin! Sag ich im Programm er soll auch kopieren wenn es ein 'ä' zeichen ist kopiert er es auch nicht!
Wer kann mir da helfen?
Hier der code bis jetzt:
//Programm liest zwei Dateien auf der Kommandozeile ein
//das Prog. kopiert Datei1 in Datei2 und löscht beim
//kopieren alle nicht druckbaren Zeichen raus! Zwischen
//den Wörtern wird ein Leerzeichen eingefügt.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char*argv[]){
FILE *in, *out;
char zeile[200];
int zeich,a=1;
if(argc != 3){
fprintf(stderr, "ussage bla..");
exit(1);
}
if((in = fopen(argv[1],"r"))==NULL)
fprintf(stderr, "Fehler beim oeffnen von Datei1");
if((out = fopen(argv[2],"a"))==NULL)
fprintf(stderr, "Fehler beim oeffnen von Datei2");
while((zeich=getc(in)) != EOF)
if (isgraph(zeich)||zeich=='ä'){
a=0;
putc(zeich, out);
}
else if (a!=1){
putc(' ', out);
a=1;
}
}