Ficheros y punteros [Cerrado]

Denunciar
-
Supernena
Message postés
119
Date d'inscription
martes, 5 de febrero de 2008
Estatus
Miembro
Última intervención
martes, 16 de junio de 2009
-
Hola os expongo mi problema,
bien yo tengo una lista simplemente enlazada que contiene un diccionario y tengo un fichero con X palabras, pues bien lo que quiero hacer es comparar cada palabra del fichero con todas las del diccionario y copiar en otro fichero de salida las palabras que se hayan encontrado en el diccionario. Lo he intentado hacer así:

tResultat ProcessarFitxer(char *origen, char *desti, tLlista *pdiccionari)
{
tNode *c=pdiccionari->primer;
char registre [25];
char minuscules[25];
FILE *entrada;
FILE *sortida;
entrada=fopen(origen,"r");
sortida=fopen(desti,"a");

while((!feof(entrada))){
fscanf (entrada, "%s", registre);
ConvertirMinuscules (registre, minuscules);
while (c!=NULL){
if (strcmp (c->paraula, minuscules)==0){
fprintf (sortida, "%s ", minuscules);
}
c=c->seguent;
}}

fclose(entrada);
fclose(sortida);


return(NO_ERROR);
}
Y lo que hace esta función es unicamente tratar la primera palabra del fichero, solo compara la primera palabra con el diccionario. Yo había hecho esta función con el fin de comparalas todas y copair las que estubieran bien escritas en el fichero de salida pero no lo hace.
Alguna idea para modificar la funcion?

Gracias!!

1 respuesta

Message postés
119
Date d'inscription
martes, 5 de febrero de 2008
Estatus
Miembro
Última intervención
martes, 16 de junio de 2009
211
Hola Adree,

Por lo que veo en tu función solo avanzas la lista pero tu fichero de entrada solo lees la promera palabra en ningún momento le dices a la función de avanzar en entrada a la palabra siguiente.

Mira a ver si avanzando las palabras du tu fichero lo consigues.

Un saludo!