char[] to struct

Iniciado por Xedrox, 15 Junio 2014, 02:16 AM

0 Miembros y 1 Visitante están viendo este tema.

Xedrox

Hola gente, como andan?

   Si se guían por el titulo, parece que me equivoque de sección, no? Pero no es así  ;D . Les comento, vengo trabajando con C++ y unos archivos de datos de una aplicación externa un tanto engorrosos de trabajar, pero al fin uno se arregla. Cada linea de estos archivos de datos puede tratarse como un registro de una base de datos. El método que me trae el registro en C++ me lo deja cargado en un "char[XXX]" donde XXX es la cantidad de bytes. Por un lado yo tengo, a modo ejemplo, el siguiente "struct":


struct MiClase
{
     short campo1;
     short campo2;
     char campo3[5];
     short campo4;
}


A su vez, el metodo de lectura me dejo un lindo char[11], vease que MiClase tiene un size de 11. Por supuesto que esos 11 bytes estan compuestos de caracteres no imprimibles que corresponden al campo 1,2 y 4. Si instancio un objeto de MiClase, como traspaso la informacion del char? Simplemente haciendo un "memcpy".

Ahora, descubri recientemente que tengo Java en este equipo, y hasta tengo un metodo en Java que lee estos archivos!. Solo que en vez de "char[]" me los deja en "byte[]". La consulta es, si tuviera en java una clase equivalente a mi estructura:


public class MiClase
{
     short campo1;
     short campo2;
     Char campo3 = new Char[5];
     short campo4;
}


Como puedo volcar la informacion del "byte[]" a un objeto de "MiClase". Algunos podria decirme que use arracopy y que lo haga campo por campo, pero quiero evitar absolutamente esto porque tengo varias clases que superan los 200 campos y seria muy costoso salirme de C++ a Java si no puedo implementar algo similar a "memcpy".

Desde ya muchas gracias
Saludos.