[C con Clase] pasar estructuras a un parametro generico del metodo de una clase

David Fire ddfire en gmail.com
Lun Oct 19 15:46:09 CEST 2009


hola
es C o C++?
si es C++ proba con templates
aparte que error te da?
David

El 19 de octubre de 2009 09:28, Rubén Calabuig <racalabuig en gmail.com>escribió:

> Hola a todos:
>
> Estoy haciendo una clase, "clsArchivo", para instanciar objetos con
> archivos binarios asociados.
>
> La clase tiene tres atributos
>   FILE* arch;     // puntero a una estructura FILE.
>   char* nombre;   // puntero a una cadena generada dinamicamente para
>                   // contener el nombre del archivo en disco.
>   tEstado estado; // estado actual del archivo
>
> NOTA: tEstado es una enumeracion declarada de la siguiente forma:
>
> enum tEstado{DESASIGNADO,INDETERMINADO,INEXISTENTE,
>             CREADO,LEER,AGREGAR,MODIFICAR,CERRADO};
>
>
> Tods los métodos de acción sobre el archivo asociado, funcionan a la
> perfección, pero el problema se plantea cuando intento desarrollar
> métodos, que reciban como parámetros a estructuras que deben ser
> escritas o leidas.
>
> No puedo pasar un formato específico de estructura, ya que si así lo
> hiciera, mi clase no sería generérica. Entonces, pensé en utilizar
> punteros de tipo void pero no les encuentro la vuelta, de cualquier
> forma que los escriba, me dan error.
>
> Aclaro que estoy programando en el IDE Code::Blocks con el compilador
> gcc, tanto para entorno Windows como par Linux.
>
> Un ejemplo de prototipo sería el siguiente:
>
> tEstado clsArchivo::guardarRegistro(void* reg, int tam)
>
> Donde:
>      void* reg --> es el puntero a la estructura.
>      int tam   --> es el tamaño de la estructura.
>
> La pregunta concreta es cómo debe ser la función fwrite o fread, yo
> intenté lo siguiente:
>
> fread(reg,tam,1,arch)
>
> Pero me da error.
>
> Desde ya muchas gracias.
>
>
> --
> Rubén Alberto Calabuig
>
>
>
> _______________________________________________
> 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
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091019/59e53ee2/attachment-0001.html>


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