Stap 5: Read_Byte_from_File()
Een beetje te begrijpen over hex bestanden is dat de gegevens wordt daadwerkelijk opgeslagen als ASCII-tekens. Wanneer we een bestands pointer naar deze ASCII-tekens opent, kan niet alleen lezen we de bytes, aangezien zij zou een ASCII-teken vertegenwoordigt de knabbelen lezen. Voor de conversie we krijgen een teken, opslaan als een binaire knabbelen A, een ander karakter krijgen en opslaan als binaire knabbelen B. Wij combineren dan knabbelen A en B tot één byte.
De functie neemt drie parameters: de bestands pointer, een uint8_t aanwijzer om de volledige byte en de total_chars_read, waardoor we om bij te houden hoe ver we zijn in het bestand op te slaan.
- 6: een 8-bits unsinged integer te houden van de afgewerkte byte te verklaren.
- 8: het krijgen van een ASCII-teken van het bestand pointer.9: hier noemen we de cleaer_special_char functie als '\n' en '\r' gevonden in het hexadecimale bestand wilt verwijderen.
- 11: dan zetten wij het ASCII-teken in een ware binaire beet. Het resultaat wordt opgeslagen in de tekenreeks. (Ik zal betrekking hebben op de Ascii2Hex functie hieronder.) De bovenstaande stappen worden herhaald voor knabbelen B.
- 18: we combineren de tekenreeks nibbles in een byte.
- 26: verhogen we twee ASCII-tekens van de bestands pointer leest.