hola<br>es C o C++?<br>si es C++ proba con templates<br>aparte que error te da?<br>David<br><br><div class="gmail_quote">El 19 de octubre de 2009 09:28, Rubén Calabuig <span dir="ltr"><<a href="mailto:racalabuig@gmail.com">racalabuig@gmail.com</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hola a todos:<br>
<br>
Estoy haciendo una clase, "clsArchivo", para instanciar objetos con<br>
archivos binarios asociados.<br>
<br>
La clase tiene tres atributos<br>
   FILE* arch;     // puntero a una estructura FILE.<br>
   char* nombre;   // puntero a una cadena generada dinamicamente para<br>
                   // contener el nombre del archivo en disco.<br>
   tEstado estado; // estado actual del archivo<br>
<br>
NOTA: tEstado es una enumeracion declarada de la siguiente forma:<br>
<br>
enum tEstado{DESASIGNADO,INDETERMINADO,INEXISTENTE,<br>
             CREADO,LEER,AGREGAR,MODIFICAR,CERRADO};<br>
<br>
<br>
Tods los métodos de acción sobre el archivo asociado, funcionan a la<br>
perfección, pero el problema se plantea cuando intento desarrollar<br>
métodos, que reciban como parámetros a estructuras que deben ser<br>
escritas o leidas.<br>
<br>
No puedo pasar un formato específico de estructura, ya que si así lo<br>
hiciera, mi clase no sería generérica. Entonces, pensé en utilizar<br>
punteros de tipo void pero no les encuentro la vuelta, de cualquier<br>
forma que los escriba, me dan error.<br>
<br>
Aclaro que estoy programando en el IDE Code::Blocks con el compilador<br>
gcc, tanto para entorno Windows como par Linux.<br>
<br>
Un ejemplo de prototipo sería el siguiente:<br>
<br>
tEstado clsArchivo::guardarRegistro(void* reg, int tam)<br>
<br>
Donde:<br>
      void* reg --> es el puntero a la estructura.<br>
      int tam   --> es el tamaño de la estructura.<br>
<br>
La pregunta concreta es cómo debe ser la función fwrite o fread, yo<br>
intenté lo siguiente:<br>
<br>
fread(reg,tam,1,arch)<br>
<br>
Pero me da error.<br>
<br>
Desde ya muchas gracias.<br>
<br>
<br>
--<br>
Rubén Alberto Calabuig<br>
<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>