|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 228
|
[C++ .NET] convertire endian di un file
Salve a tutti
ecco il problema Codice:
FILE *mioFile;
fopen("miofile.bin,rb);
fread(ecc ecc
come posso convertire il file ho trovato 1000 modi per convertire un byte... ma un intero file? grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
L'endianess non influisce sull'ordine dei bit in un byte.
Per convertirlo devi conoscerne la struttura dati, altrimenti rischi di distruggere i dati durante la conversione. Ad esempio se il tuo file fosse un UTF-16BE puoi convertire a blocchi di 2 byte alla volta, se invece i tuoi dati fossero custom del tipo 2byte-4byte-2byte devi convertire ogni singolo blocco a seconda della sua dimensione, ovvero non puoi trattarli come se fossero 2 campi da 4byte. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 228
|
sono blocchi di due byte alla volta...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 228
|
in pratica apro un file con un immagine, .bin
è a 16bit la metto in un vettore Unsigned short int per quello che mi hanno comunicato è a blocchi di 2 byte ma non devo salvarla su file, mi basta tenerla in un vettore convertita |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 228
|
Nessuno???
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 228
|
esatto, non riesco proprio a capir dove metter mano...
neanche se va fatto prima o dopo l'fread, quindi se farlo direttamente sul vettore letto e sul file prima della lettura... sono nuovo dell'ambiente, molto molto nuovo sorry |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:29.




















