<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>