Stap 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
Code Link
- 6: laten we het aantal argumenten die doorgegeven worden door de gebruiker te controleren. Als er geen bestandsnaam, sluit we.
- 11: een niet-ondertekende array voor de gegevens te verklaren. Ik heb willekeurig instellen, maar het zal moeten groot genoeg zijn voor de hoeveelheid gegevens moet worden geëxtraheerd vanaf de hex bestand.
- 17: hier maken we een pointer naar een bestand data stream.
- 20: passeren we de aanwijzer aan de gegevensstroom aan de open_file functie. Wij stellen tot alleen het lezen van het bestand in binaire. We passeren het het bestand dat we willen openen en retourneert het geopende bestand.
- 23: passeren we hex_file_to_array een bestand aanwijzer en verwijzing naar een matrix. Deze functie leest de hex bestand, ontleedt het, ophalen van de gegevens en plaatst ze in de de uint8_t array op basis van de gegevens adres gevonden in de hexfile. De functie geeft als resultaat het aantal gegevensbytes die worden gevonden in het hexadecimale bestand.