March 20
Il linguaggio di programmazione C ha molte funzioni per la gestione di numeri e stringhe, ma la conversione da un formato ad un altro non è sempre semplice. Può essere utile durante lo sviluppo del programma per visualizzare il contenuto esatto di una stringa, compresi i caratteri invisibili. Convertire i buffer di caratteri in esadecimale può fare proprio questo.
1 Aprire un editor di testo.
2 Immettere il seguente codice nell'editor di tirare le funzioni di libreria necessari:
includere <stdio.h> includere <malloc.h> includere <string.h>
3 Inizializzare le variabili che si vuole usare:
int main (void) {
int i = 0;
char* c = "Hello World!";
char* hex = NULL;
hex = malloc( sizeof( *c ) * 2 );
4 Aggiungere le righe seguenti alla fine del file:
for( i = 0; c[i] != '\0'; i++ ) {
sprintf( &hex[ i * 2 ], "%X", c[ i ] );
}
printf( "0x%s\n", hex );
gratuito (hex);
return 0;
}
La funzione "sprintf" converte la stringa in esadecimale di un carattere alla volta, memorizzando il risultato nel buffer esadecimale. Il risultato viene poi stampato a schermo e il programma pulisce ed esce.
5 Salvare il codice sorgente.
6 Compilare ed eseguire il programma per verificare che ha convertito i caratteri in esadecimale.