Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/09/2012, 11:36
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 13 años
Puntos: 94
Respuesta: igualar el contenido de dos ficheros.txt

Por lo que veo del programa tus dos archivos tienen listas de palabras que es lo que tenes que comparar

Cita:
ahora la pregunta concreta es si el ciclo que uso esta bien hecho o acaso la forma en que lo pense esta mal planteado.
dentro de todo no esta mal planteado. Lo que hay que cambiar es el if que esta dentro del while interno, tenes que sacarlo de ahi para que funcione correctamente. Otra cosa es que estas usando mal el strcpy(revisa como se usa), igual para este caso tenes que usar la funcion fputs para poder guardar en el archivo.
Haciendo los cambios quedaria asi:

Código C:
Ver original
  1. similitud=1;
  2.             while (feof(archivo) == 0)
  3.             {
  4.                     fgets(caracteres1,100,archivo); // toma una palabra del archivo 1
  5.                     while(feof(archivo2)==0 && similitud!=0){ // mientras no sea EOF y similitud distinto de 0
  6.                        fgets(caracteres2,100,archivo2); // toma una palabra del archivo 2
  7.                        similitud=strcmp(caracteres1,caracteres2); // compara las palabras
  8.                     }
  9.                     if(similitud !=0){ // si similitud es distinto de 0, se guarda en el archivo 2
  10.                        fputs(caracteres1,archivo2);
  11.                     }
  12.                     rewind(archivo2);
  13.             }

Fijate que de esta forma solo se guardan las palabras del archivo1 que no existen en el archivo 2. Ahora te quedaria hacer el proceso inverso(palabras del archivo2 guardar en el archivo1)..


Sino se entiende algo segui preguntando. Saludos