13.- Escribe un programa que lea un fichero y le suprima todas las vocales.
Solución
#include <stdio.h> main() { FILE *origen, *destino; char letra; origen = fopen("origen.txt","r"); destino= fopen("destino.txt","w"); if (origen == NULL || destino == NULL) { printf( "Problemas al abrir los ficheros.\n" ); exit( 1 ); } letra = getc(origen); while (feof(origen) == 0) { if (!strchr("AEIOUaeiou", letra)) putc( letra, destino ); letra = getc(origen); } if (fclose(origen)!= 0) printf( "Problemas al cerrar el fichero origen.txt\n" ); if (fclose(destino)!= 0) printf( "Problemas al cerrar el fichero destino.txt\n" ); } |
La función strchr busca la primera ocurrencia de un carácter c en una cadena, y devuelve un puntero a dicho lugar (o NULL si c no está en cadena). Su sintaxis es:
char *strchr(const char *cadena, int c);
Supongamos que el fichero origen.txt contenga:
El alegre campesino pasea por el campo ajeno a que el toro se acerca por detrás
El fichero destino.txt será:
l lgr cmpsn ps pr l cmp jn q l tr s crc pr dtrás