/* loes201.c Loesung der Aufgabe 2.01 */ #include <stdio.h> #includevoid changezeichen (char *text, char cOld, char cNew) /* --------------------------------------------------------- ersetzt in der Zeichenkette text alle Zeichen cOld durch neues Zeichen cNew --------------------------------------------------------*/ { unsigned int i; for (i = 0; i < strlen(text); i++) if (text[i] == cOld) text[i] = cNew; } int main(void) { FILE *fin; char zeile[80]; char c1, c2; int n = 0; /* Anzahl der gelesenen Zeilen */ if ((fin = fopen("ueb201.txt", "r")) == NULL) { printf("Datei ueb201.txt nicht gefunden!\n"); return 1; } printf("%s%s%s", "Das Programm liest jetzt zeilenweise die Datei ueb201.txt\n", "und ersetzt die Zeichen c1 durch das Zeichen c2\n", "c1 c2 ? "); scanf("%c%*c%c", &c1, &c2); printf("Alle %c werden durch %c ersetzt\n", c1, c2); while ( fgets(zeile, 80, fin) != NULL) { n++; printf("Vorher : %s", zeile); changezeichen(zeile, c1, c2); printf("Nachher: %s\n", zeile); } fclose(fin); printf("%3i Zeilen gelesen\n", n); return 0; }