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