[C con Clase] Duda que me está volviendo loco

Hl3 halowin3 en gmail.com
Mar Ene 12 10:29:54 CET 2016


Hola Steven, ante todo muchas gracias por tu respuesta, me parece interesante lo que comentas.

Creo que el problema está en tu primer comentario, debo tratar lista como un array y no como char* (lo voy a rehacer ahora mismo y luego te cuento).

En cuanto a la estructura "miembro", está bien (seguro) ya que otras opciones del programa la usan y uso varias veces el mismo fichero "fichas.dat" y no hay problema.

Lo de hacer el fread antes de entrar en el bucle también lo he probado aunque el comportamiento era el mismo, pero lo tendré en cuenta y haré el fread antes de entrar en el while.

Mi curiosidad radica en que dentro de la misma funcion "hijos()", la variable lista pierde el valor en cuanto sale del bucle "while" porque dentro del bucle compruebo con el "printf" que los valores que va tomando son correctos, pero el "printf" último pinta otra cosa, en concreto me pinta el "ente.nombre" del último registro, !!! es alucinante y no acabo de entender porque lo hace".
Luego, en el cuerpo del programa, cuando recibo la cedena retornada por "hijos()", sigue siendo "la que está mal".

NO ENTIENDO ESE COMPORTAMIENTO, de que fuera del bucle y aun dentro de la función, cambie de valor.

Me pongo a ello.

Muchas gracias.





Más información sobre la lista de distribución Cconclase