Tengo un archivo de una longitud fija y los datos que tiene coincide con una estructura que tengo en el programa..
La longitud del archivo es de 4 bytes, los 2 primeros corresponden al segundo miembro de la funcion y los bytes 3 y 4 corresponden al tercer miembro.
Podria al leer el archivo colocar estos datos directamente dentro de la estructura y sin ir metiendolos miembro por miembro?
Código C:
Ver original
// El archivo al que hace referencia t1 contiene estos bytes: 20 21 22 23 // t1 es la ruta de mi archivo HANDLE hFile = CreateFile(t1, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) return ; DWORD dwBytesRead = 0; ReadFile(hFile, buffer, 4, &dwBytesRead, NULL); // Ahora en buffer tengo el archivo al completo // Mi estructura es esta... struct estructura { struct otra_estructura otraestructura; byte primeros [2]; byte segundos [2]; }; estructura mystruct[4]; // Declaro 4 porque son 4 archivos aunque vamos ahora con el primero // Me gustaria saber si es posible hacer algo como en una de estas dos opciones // 1) mystruct[0],primeros = buffer[0-2]; // Algo asi como indicar la posicion inicial y final del buffer y asignarselo al miembro de la estructura mystruct[0].segundos = buffer[2-4]; // 2) o bien haciendolo de esta manera, // Cogemos la posicion de memoria donde esta estructura[0].primeros y sabiendo que los primeros bytes correspondonden a ese miembro y los siguientes dos a estructura[0].segundos. // hacer algo como.... mystruct[0].primeros = buffer;
Lamento no ser mas preciso, pero mi nivel de c/c++ es minimo, se lo que son los punteros pero a la hora de escribir codigo me siguo confundiendo.
Gracias