[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.html>


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