Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Fitxeros y lista por punteros

Estas en el tema de Fitxeros y lista por punteros en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/06/2008, 14:29
 
Fecha de Ingreso: abril-2008
Mensajes: 28
Antigüedad: 16 años, 7 meses
Puntos: 0
Fitxeros y lista por punteros

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!!
  #2 (permalink)  
Antiguo 02/06/2008, 15:48
Avatar de Mephisto  
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 3
Respuesta: Fitxeros y lista por punteros

Código:
while (c!=NULL){
   if (strcmp (c->paraula, minuscules)==0){
      fprintf (sortida, "%s ", minuscules);
   }
   c=c->seguent;
}
Antes del while coloca tu puntero c al inicio de la lista, ya que no lo regresas y c se queda en NULL despues de la primera palabra

Código:
*c=pdiccionari->primer
while()...
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
  #3 (permalink)  
Antiguo 03/06/2008, 15:30
 
Fecha de Ingreso: abril-2008
Mensajes: 28
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Fitxeros y lista por punteros

Gracias amigo me has solucionado el problema ;)
  #4 (permalink)  
Antiguo 04/06/2008, 15:40
Avatar de Mephisto  
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 3
Respuesta: Fitxeros y lista por punteros

No hay nada que agradecer...
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:09.