Ficheros y punteros

Cerrado
Adree - 2 jun 2008 a las 22:31
Supernena Mensajes enviados 119 Fecha de inscripción martes, 5 de febrero de 2008 Estatus Miembro Última intervención martes, 16 de junio de 2009 - 10 jun 2008 a las 10:09
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!!
Consulta también:

1 respuesta

Supernena Mensajes enviados 119 Fecha de inscripción martes, 5 de febrero de 2008 Estatus Miembro Última intervención martes, 16 de junio de 2009 226
10 jun 2008 a las 10:09
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!
0