[C con Clase] Retroceder el puntero en archivo binario
Carolina Herrera
carolinah802 en hotmail.es
Mie Jul 23 01:57:44 CEST 2008
Hola Salvador!!!
Siento mucho no haberte respondido antes, pero aprovechando que ahora estoy de vagaciones decidí hacer un viajecito =).
Retomando el problema del puntero, ejecuté el programa que me enviaste y el resultado fue:
cadena : abracadabra
Está correcto??
Como siempre se te agradece por el esfuerzo que haces al ayudarnos a todos los que andamos medio perdidos ;)
Un besito para ti.
Karo
> To: cconclase en listas.conclase.net
> From: salvador en conclase.net
> Date: Sat, 5 Jul 2008 15:20:06 -0500
> Subject: Re: [C con Clase] Retroceder el puntero en archivo binario
>
> El pasado 2008-07-04 15:08:55, Carolina Herrera escribió:
>
> CH> Ya modifiqué el programa y aún sigue sin funcionar =(, como que ya empiezo a resignarme y usar el modo convencional (contando registros).
>
> Hola:
>
> No deberías resignarte, el método propuesto debería funcionar. Debe existir un error, y hay que encontrarlo.
>
> Puedes probar con este programa de ejemplo:
> ----8<------
> #include <cstdio>
> #include <cstring>
>
> using namespace std;
>
> int main()
> {
> FILE *fs;
> char car[12];
> int i;
>
> fs = fopen("pruebas.dat", "wb");
> fprintf(fs, "abracadabra");
> fclose(fs);
>
> fs = fopen("pruebas.dat", "r+b");
>
> while(!feof(fs)) {
> fseek(fs, 0, SEEK_CUR);
> fread(car, sizeof(char), 1, fs);
> if(car[0] == 'a') {
> fseek(fs, -sizeof(char), SEEK_CUR);
> car[0] = 'e';
> fwrite(car, sizeof(char), 1, fs);
> }
> }
>
> fclose(fs);
>
> fs = fopen("pruebas.dat", "r");
> fgets(car, 12, fs);
> printf("cadena: %s\n", car);
> fclose(fs);
>
> return 0;
> }
> ----8<------
>
> A ver si funciona, y en caso contrario podremos echar la culpa al compilador.
>
> 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
_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080722/278641fb/attachment-0001.html>
Más información sobre la lista de distribución Cconclase