[C con Clase] problemas con la posicion del puntero en un fichero, funciones fread, frwite, fseek etc.

Albert Montolio albert.montolio en gmail.com
Dom Mar 4 23:23:19 CET 2012


Muchas gracias por la explicación,

he corregido lo de SEEK_CUR, y ahora en teoria, lee la palabra, el cursor
se queda despues de la palabra, y para sobreescribirla utilizo

fseek(fichero, (-1)*sizeof(struct t_palabra), SEEK_CUR);

y tampco me funciona, me repite todo el rato la segunda palabra, el mismo
problema de siempre. no entiendo el porque, ya que despues del fwrite, el
cursor queda detras d la palabra modificada, y con el siguiente fread
dentro dl while, se tendria que leer la palabra que toca. no se como
solucionarlo xk x logica lo haria asi, xo nose donde esta el error
informatico, o si esta equivocada la logica aplicada.
Me podrias ayudar? esque estoy aprendiendo a programar x mi cuenta y cuesta
1 poco.

muchas gracias

El 4 de marzo de 2012 22:53, Salvador Pozo <salvador en conclase.net> escribió:

> Hola:
>
> Bueno, sin tener en cuenta que el programa se puede compactar bastante, y
> que sobran algunas cosas (al menos para mi gusto), el problema está
> precisamente en el uso de fseek para retroceder una posición.
>
> Usas la constante SEEK_SET, cuando deberías usar SEEK_CUR. Con SEEK_SET la
> posición del fichero se calcula desde el principio del fichero, al usar un
> valor negativo, el resultado es imprevisible. Con SEEK_CUR se calcula la
> posición a partir de la actual.
>
> Otra cosa, no deberías usar la función gets, ya que es insegura. En su
> lugar usa fgets, indicando como fichero stdin.
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador en conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120304/5ae60615/attachment.html>


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