-

[RISOLTO] Aiuto con File in C

Stato
Discussione chiusa ad ulteriori risposte.

Ibernato

Utente Attivo
3,151
1,416
Hardware Utente
Sistema Operativo
Windows 10 Pro
#1
Salve a tutti,
ho due tipi definiti in questo modo a cui sono associati due array:
Codice:
typedef unsigned char byte_t;
typedef unsigned int word_t;

static byte_t buffer1[BUFFER_SIZE];
static byte_t buffer2[BUFFER_SIZE * 2 + 9];
Supponiamo che io ho in un file la seguente stringa:
1545914392475.png


In buffer1 mi salvo l'intero file in questo modo:
Codice:
 int length = fread(buffer1, sizeof(byte_t), BUFFER_SIZE, stdin);
Ora se io faccio una printf e mi stampo il valore di buffer1[0] ottengo il valore 54 che corrisponde al numero 6 (e fin qui ci siamo visto che buffer1 legge 1byte alla volta).

Poi converto buf1 di tipo unsigned char in unsigned int in questo modo:
Codice:
word_t* in = (word_t*)buf1;
Ora se io faccio una printf e mi stampo il valore di buffer1[0] ottengo il valore 808463926 (poichè ora possiamo leggere 4bytes).
La mia domanda è: quel valore corrisponde ai valore 6.00?
Post unito automaticamente:

Risolto, ho capito che bisogna usare le operazioni bit a bit per ottenere i vari byte
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Discussioni Simili


Entra

Guarda il video live di tomshardwareita su www.twitch.tv