Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να διαβάσετε Hex αρχεία σε C + +

A hex αρχείο είναι ένα αρχείο δεδομένων που περιέχει πληροφορίες κωδικοποιημένες σε δεκαεξαδικά ψηφία . Χρειάζονται τέσσερα κομμάτια για να αντιπροσωπεύουν ένα ενιαίο δεκαεξαδικό ψηφίο , έτσι η ανάγνωση ένα αρχείο hex χρησιμοποιώντας το μικρότερο τύπο δεδομένων που διατίθενται σε C ​​+ + , char , περιλαμβάνει την ανάγνωση δύο δεκαεξαδικά ψηφία σε μια στιγμή . Απομονώστε τα ψηφία με πράξεις σε επίπεδο bit για να αναλύσει μέσα από ένα hex αρχείο ένα ψηφίο κάθε φορά . Οδηγίες
Η 1

Συμπεριλάβετε την « iostream " και " fstream " headers τοποθετώντας τις παρακάτω γραμμές κώδικα στο επάνω μέρος του αρχείου C + + πηγή σας :

# include

# include 2

Δημιουργία " ifstream " αντικείμενο σου στην " κύρια " λειτουργία ή ένα άλλο μπλοκ κώδικα με την ακόλουθη γραμμή :

ifstream αρχείο_εισόδου ?
εικόνων 3

Ανοίξτε ένα αρχείο χρησιμοποιώντας την « ανοικτή » μέθοδο του « ifstream " αντικείμενο , προσδιορίζοντας το όνομα της ως επιχείρημα :

inputfile.open ( " hexfile . dat ")?

Συμπεριλάβετε την πλήρη διαδρομή και το όνομα του αρχείου για να ανοίξει με διπλές ανάστροφες καθέτους ( π.χ. " C : \\ \\ Users \\ \\ ... " ), εάν το αρχείο δεν θα διαμένουν στην . ίδιο κατάλογο με το εκτελέσιμο
Η 4

Δημιουργία δύο μεταβλητές για να κρατήσει κάθε ζεύγος δεκαεξαδικά ψηφία καθώς είναι τραβηγμένη από το αρχείο :

unsigned char h , l ?
Φτηνές 5

Ξεκινήστε μια βρόχος "while" :

while ( 1 ) {
Η 6

Χρησιμοποιήστε το " >> " χειριστής να διαβάσει ένα byte από το αρχείο και να το αποθηκεύσετε σε " h : "

αρχείο_εισόδου >> h ?
Η 7

Διαχωρίστε τα δύο δεκαεξαδικά ψηφία με "h " με τις ακόλουθες δύο γραμμές :

l = h & 0x0f ?

h >> = 4 ?

Μετά από αυτές τις δηλώσεις " h" περιέχει το πρώτο ψηφίο και το " l" η δεύτερη
<. br > 8

Ελέγξτε για να δείτε αν το τέλος του αρχείου έχει επιτευχθεί ( ή αν το αρχείο είναι δυσανάγνωστο για οποιονδήποτε λόγο ) , την έξοδο από το βρόχο και το κλείσιμο του αρχείου αν έχει :

if ( ! inputfile.good ( ) ) { σπάσει ? inputfile.close ( ) ? }
Η 9

κωδικός Γράψτε για να χειριστεί τα δεκαεξαδικά ψηφία , όπως από όπου και αν λαμβάνονται in οι ακόλουθες γραμμές παραγωγής τους απλά ως δεκαεξαδικά ψηφία με το πρότυπο κονσόλα :

cout <

cout < Η 10

Κλείστε το βρόχος "while" :

} ?
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα