/*Download:ctype.c*/
#include <stdio.h>
#include <ctype.h>
#include <string.h>
/*Prototypen*/
void grosschrift(char *, char *);
void kleinschrift(char *, char *);
void international(char *,char *);
void oeffne_dateien(char *, char *, FILE **, FILE **);
void grosschrift(char *arg2, char *arg3)
{
FILE *in,*out;
int c;
oeffne_dateien(arg2,arg3,&in,&out);
while((c=getc(in)) !=EOF)
{
if(islower(c))
putc(toupper(c),out);
else
putc(c,out);
}
}
void kleinschrift(char *arg2, char *arg3)
{
FILE *in,*out;
int c;
oeffne_dateien(arg2,arg3,&in,&out);
while((c=getc(in)) !=EOF)
{
if(isupper(c))
putc(tolower(c),out);
else
putc(c,out);
}
}
void international(char *arg2, char *arg3)
{
FILE *in,*out;
int c;
oeffne_dateien(arg2,arg3,&in,&out);
while((c=getc(in)) !=EOF)
{
if(isascii(c)==0)
putc(toascii(c),out);
else
putc(c,out);
}
}
void oeffne_dateien(char *quelle, char *ziel, FILE **input, FILE **output)
{
if((*input=fopen(quelle,"rt")) == NULL)
{
fprintf(stderr,"Fehler beim oeffnen (lesen) von %s\n",quelle);
exit(0);
}
if((*output=fopen(ziel,"wt")) == NULL)
{
fprintf(stderr,"Fehler beim oeffnen (schreiben) von %s\n",ziel);
exit(0);
}
}
int main(int argc, char **argv)
{
if(argc<4)
{
fprintf(stderr,"usage : Programmname -[Schalter] Textdatei.txt Zieldatei.txt\n"
"für -[Schalter] : -b (kompl. Textdatei in Grossschrift)\n"
" -s (kompl. Textdatei in Kleinschrift)\n"
" -i (nat. Zeichen in ASCII-Zeichen konvert.\n");
exit(0);
}
if(strcmp(*++argv,"-b")==0)
grosschrift(argv[2],argv[3]);
else if(strcmp(*argv,"-s")==0)
kleinschrift(argv[2],argv[3]);
else if(strcmp(*argv,"-i")==0)
international(argv[2],argv[3]);
else
{
fprintf(stderr,"Fehler beim 2.Argument(unbekannt) : %s \n",*argv);
fprintf(stderr,"2.Argument. : -b (kompl. Textdatei in Grossschrift)\n"
" -s (kompl. Textdatei in Kleinschrift)\n"
" -i (nat. Zeichen in ASCII-Zeichen konvert.\n");
exit(1);
}
return 0;
}
|