Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come leggere i file Hex in C + +

Un file hex è un file di dati che contiene informazioni codificate in cifre esadecimali . Ci vogliono quattro bit per rappresentare una singola cifra esadecimale , quindi la lettura di un file hex utilizzando il tipo di dati più piccolo disponibile in C + + , char , prevede la lettura di due cifre esadecimali per volta . Isolare queste cifre con le operazioni a livello di bit per analizzare attraverso un file hex una cifra alla volta. Istruzioni
1

Includere la " iostream " e intestazioni " fstream " inserendo le seguenti righe di codice nella parte superiore del vostro file C + + fonte :

# include

# include
2

Crea un oggetto " ifstream " nella funzione "principale" o un altro blocco di codice con la seguente riga :

ifstream inputfile ;
3

aprire un file con il metodo " aperto " dell'oggetto " ifstream " , specificando il proprio nome come argomento :

inputfile.open ( " hexfile . dat ");

includere il percorso completo e il nome del file da aprire con doppie barre rovesciate ( ad esempio , " C: \\ \\ Users \\ \\ ... ") se il file non risiedere nella stessa directory del file eseguibile
4

Creare due variabili per contenere ogni coppia di cifre esadecimali come sono tirati dal file :

unsigned char h , l;
.
5

Avviare un " mentre " loop :

while (1 ) {
6

Utilizzare l'operatore " >> " per leggere un byte dal file e memorizzarlo in " h : "

inputfile >> h ;
7

separare le due cifre esadecimali a " h" con le due linee seguenti :

l = h & 0x0F ;

>> h = 4; .

Dopo queste dichiarazioni " h " contiene la prima cifra e "l" la seconda

8

Verificare se è stata raggiunta la fine del file ( o se il file è illeggibile per qualsiasi motivo ) , uscire dal ciclo e chiudere il file se si ha :

if (! inputfile.good ( ) ) { break; inputfile.close (); }
9

Scrivi il codice per gestire le cifre esadecimali come sono presi dentro le seguenti righe semplicemente uscita come cifre esadecimali a la console standard :

cout << hex << ( unsigned int ) h << " " ;

cout << hex << ( senza segno int) l << " " ;
10

Chiudere il " mentre " loop :

} ;

 

Programmazione © www.354353.com