Paso 2: Main.c
MAIN.C int main(int argc, char *argv[]) { //If the user fails to give us two arguments yell at him. if ( argc != 2 ) { fprintf ( stderr, "Usage: %s \n", argv[0] ); exit ( EXIT_FAILURE ); } // Data array uint8_t HEX_array[32768]; // Bytes read into array. int HEX_array_size; //File to be loaded. FILE *hex_file; //Open file using command-line info; for reading. hex_file = open_file (argv[0], "rb" ); // Load the data from file HEX_array_size = hex_file_to_array(hex_file, HEX_array); } // END PROGRAM
Código enlace
- 6: vamos a comprobar el número de argumentos pasados en por el usuario. Si no hay ningún nombre de archivo, luego nos salga.
- 11: declarar una matriz sin firmar los datos. He fijado arbitrariamente, pero tendrá que ser lo suficientemente grande para la cantidad de datos para extraer desde el archivo hexadecimal.
- 17: Aquí creamos un puntero a un flujo de datos de archivo.
- 20: pasamos el puntero a la secuencia de datos a la función open_file. Estamos creando hasta leer el archivo en binario. Pasamos el archivo que desea abrir y devuelve el archivo abierto.
- 23: pasamos a hex_file_to_array un archivo puntero y puntero a una matriz. Esta función lee el archivo hexadecimal, lo analiza, extrayendo los datos y volverlos a colocar en el la matriz de uint8_t basado en la dirección de los datos en el hexfile. Entonces, la función devuelve el número de bytes de datos en el archivo hexadecimal.