<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Hola chicos!!!<br><br>Hola Luis, esa es la forma en la que normalmente lo hacia, pero la opción que daba Salvador me parecía mucho más sencilla, lastimosamente aún no logro hacer que funcione =(<br><br>Si alguien sabe cual es el error que estoy cometiendo, ya lo busqué y probé de varias formas diferentes, pero nada de nada =(<br><br>fseek(nom_arch, -sizeof(nom_reg), SEEK_CUR);<br><br>Utilizo Windows XP y Borland C++ 3.0<br><br>Un beso para ti por tu ayuda.<br><br>Karo<br><br><blockquote><hr>Date: Mon, 9 Jun 2008 08:53:54 -0500<br>From: saavedraphp@gmail.com<br>To: cconclase@listas.conclase.net<br>Subject: [C con Clase] Espero te sirva Retroceder el puntero en archivo   binario<br><br><div>Hola carolina.</div>
<div>lo que yo hago es primero buscar el registro y un a vez encontrado guardo la posición ahí el código.</div>
<div>bool Buscar_Persona(int pcodigo, int *posicion, bool *HuboError )</div>
<div>{<br>        FILE *aPersona;<br>        rP rPersona;<br>        bool encontro = false;</div>
<div>        *HuboError = false;<br>        aPersona = fopen(cNombreArchivoPersona, "rb");</div>
<div>        if(aPersona == NULL)<br>        {<br>                *HuboError = true;<br>        }<br>        else<br>        {<br>                fread(&rPersona, sizeof(rPersona), 1, aPersona);</div>
<div>                while( (!feof(aPersona)) && (!encontro) )<br>                {<br>                        if( (rPersona.id_persona == pcodigo) && (rPersona.eliminado == false) )<br>                        {<br>
                                encontro = true;</div>
<div>                        }<br>                        else<br>                        {<br>                                fread(&rPersona, sizeof(rPersona), 1, aPersona);<br>                                *posicion = *posicion + 1;<br>
                        }<br>                }<br>                fclose(aPersona);</div>
<div><br>        }<br>        return encontro;</div>
<div>}</div>
<div> </div>
<div> </div>
<div>------------</div>
<div> </div>
<div>luego hago el cambios modificados  envío la posición y modifico los datos así,</div>
<div> </div>
<div>bool ModificarPersona(int pid_persona,char* pnombre, char* p_apaterno, char* p_amaterno,<br>                       char* pdireccion_foto, bool *HuboError, int *pPosicion )<br>{</div>
<div>                                                      <br>        FILE *aPersona;<br>        rP rPersona;<br>        bool Modifico = false;</div>
<div>        aPersona = fopen(cNombreArchivoPersona, "rb+");</div>
<div>        if(aPersona == NULL)<br>        {</div>
<div>                *HuboError = true;</div>
<div>        }<br>        else<br>        {</div>
<div>                        fread(&rPersona, sizeof(rPersona), 1, aPersona);<br>                        fseek(aPersona, sizeof(rPersona) * (*pPosicion), SEEK_SET);</div>
<div><br>                        rPersona.id_persona = pid_persona;<br>                        strcpy(rPersona.nombre, pnombre);<br>                        strcpy(rPersona.ap_pat, p_apaterno);<br>                        strcpy(rPersona.ap_mat, p_amaterno);<br>
                        strcpy(rPersona.direccion_foto, pdireccion_foto);<br>                        Modifico = true;</div>
<div>                fwrite(&rPersona, sizeof(rPersona), 1, aPersona);<br>                fclose(aPersona);<br>        }</div>
<div>      return Modifico;<br>}<br></div>
<div> </div>
<div> </div>
</blockquote><br /><hr />Discover the new Windows Vista <a href='http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE' target='_new'>Learn more!</a></body>
</html>