#include <stdio.h>
int main(int argc, char *argv[]) {
FILE *srcfp;
FILE *desfp;
int ch;
int ch2;
char str[16];
int count = 0;
if((srcfp = fopen(argv[1], "r")) == NULL) {
perror("Can't open Source File\n");
exit(1);
}
if((desfp = fopen(argv[2], "w")) == NULL) {
perror("Can't open Destination File\n");
exit(1);
}
while(!feof(srcfp)) {
ch = fgetc(srcfp);
if(((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || ((ch >= '0') && (ch <= '9')))
fputc(ch, desfp);
else if(ch == 195) {
ch2 = fgetc(srcfp);
if(ch2 == 132)
fputs("Ä", desfp);
else if(ch2 == 156)
fputs("Ö", desfp);
else if(ch2 == 150)
fputs("Ü", desfp);
else if(ch2 == 164)
fputs("ä", desfp);
else if(ch2 == 188)
fputs("ü", desfp);
else if(ch2 == 182)
fputs("ö", desfp);
else if(ch2 == 159)
fputs("ß", desfp);
else
ungetc(ch, srcfp);
}
else if(ch == '\n')
fputs("<br>", desfp);
else if(ch == ' ')
fputs(" ", desfp);
else {
sprintf(str, "&#%i;", ch);
fputs(str, desfp);
}
if((count > 128) && (ch == '\n')) {
count = 0;
fprintf(desfp, "\n");
}
count ++;
}
fclose(srcfp);
fclose(desfp);
return 0;
}