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

Volver a los ejercicios

volver a Inicio