Palabras invertidas en un fichero

Yuliya Aleksieva

/*Este programa lee un fichero input.txt y reescribe todas las palabras de orden inverso (sin separarlas con espacio en blanco) en otro fichero output.txt */

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100

int main()
{
FILE *f, *p;
char input[100],output[100];
char palabra[MAX], palabrainv[MAX];
int lon,i;

printf("Dame el nombre del fichero que vamos a leer:");
gets(input);
f=fopen(input,"r");

printf("Dame el nombre del fichero en el que guardamos los cambios:");
gets(output);
p=fopen(output,"w");

while(!feof(f))
{
fscanf(f,"%s",palabra);
lon=strlen(palabra);

for(i=0;i<lon;i++)
  palabrainv[lon-(i+1)]=palabra[i];
palabrainv[lon]=0;

fprintf(p,"%s",palabrainv);
}

fclose(f);
fclose(p);
return 0;
}
Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Palabras invertidas en un fichero

  1. Observa que el carácter final de cadena tiene ASCII cero y es más fácil expresarlo aquí así.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s