[C con Clase] Una pequeña duda con los ficheros

Marcos Collado Martín marquitos.mcm en gmail.com
Mie Abr 25 23:45:29 CEST 2012


Ok gracias, pero lo que quiero es que esa función la puedan utilizar varias
estructuras diferentes, no solo (en tu caso) stDatos. Por ejemplo, algo que
hizo Salvador antes:
http://paste2.org/p/1995171

Un saludo y gracias de antemano ^^

El 25 de abril de 2012 23:38, Steven Davidson <srd4121 en njit.edu> escribió:

> Hola Marcos,
>
>
> On 4/25/2012 3:36 PM, Marcos Collado Martín wrote:
>
>> Gracias, ahora otra duda parecida, perdona soy un poco pesado:
>>
>> He intentado hacer algo parecido a lo que acabas de hacer ahora, pero
>> con la función:
>> http://paste2.org/p/1995011
>>
>> Algo así he hecho:
>> http://paste2.org/p/1995009
>>
>> Es una replica a lo como lo hicistes tu en la otra función, pero
>> claro ahora el ind. hace que no funcione, sabrías como hacerlo?
>>
>>
> Me temo que Salvador introdujo un mismo error al "copiar y pegar" :)
>
> Debería ser:
>
> fseek( fi, iz*bytesporregistro, SEEK_SET );
> fread( reg1, bytesporregistro, 1, fi );
>
> fseek( fi, de*bytesporregistro, SEEK_SET );
> fread( reg2, bytesporregistro, 1, fi );
>
> ya que 'reg1' y'reg2' son punteros.
>
> En cuanto al código que has intentado desarrollar, escribes:
>
> fread( &ind, bytesPorRegistro, 1, fichero );
> strcpy( buffer, ind.tipo );
>
> La primera corrección es,
>
> fread( ind, bytesPorRegistro, 1, fichero );
>
> Sin embargo, el otro error que tienes involucra el uso de 'ind'. En primer
> lugar, esta variable es un puntero, por lo que deberías estar accediendo a
> la información con * o en este caso con ->. En segundo lugar, recuerda que
> 'ind' es un puntero genérico, pero quieres usarlo como un puntero a una
> estructura. Por lo tanto, necesitarás realizar un cásting, como por ejemplo,
>
> strcpy( buffer, ((stDatos *)ind)->tipo );
>
> O si ya sabes el tipo de dato de antemano, entonces usa la estructura
> directamente y no un puntero genérico.
>
>
> Espero haber aclarado la duda.
>
> Steven
>
>
>
> ______________________________**_________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/**mailman/listinfo/cconclase_**
> listas.conclase.net<http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net>
> Bajas: http://listas.conclase.net/**index.php?gid=2&mnu=FAQ<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/20120425/183786d9/attachment.html>


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