Bonjour, j'ai un problème en essayant de lire le magic code d'un fichier, je fais :
Code :
unsignedchar mymagic[8];
f = fopen("myfile", "rb" );
fread(mymagic, sizeof(unsignedchar), 8, f);
Si j'ouvre mon fichier avec un éditeur hexa, les 4 premiers bytes sont "CNIF" (le magic) le problème c'est que dans mymagic j'obtiens des charactères invalides pour les 4 premiers bytes. et seulement ensuite j'obtient CNIF (pour les bytes 4 à 7)
edit Je précise quand même que ça marchait bien avant que je passe tous les autres char et string en wchar_t et wstring. Donc je suppose que c'est un problème d'option de compilateur (j'utilise vs2005) Mais je n'arrive pas à trouver l'option qui me permettrait de résoudre ce problème il y a des pro des options de compilateur dans ce forum? Ou bien le fread est passé en big endian ou little endian? j'avoue que ce problème me laisse perplexe...
Marsh Posté le 21-07-2007 à 21:06:45
Bonjour,
j'ai un problème en essayant de lire le magic code d'un fichier,
je fais :
Si j'ouvre mon fichier avec un éditeur hexa, les 4 premiers bytes sont "CNIF" (le magic)
le problème c'est que dans mymagic j'obtiens des charactères invalides pour les 4 premiers bytes.
et seulement ensuite j'obtient CNIF (pour les bytes 4 à 7)
edit
Je précise quand même que ça marchait bien avant que je passe tous les autres char et string en wchar_t et wstring.
Donc je suppose que c'est un problème d'option de compilateur (j'utilise vs2005)
Mais je n'arrive pas à trouver l'option qui me permettrait de résoudre ce problème
il y a des pro des options de compilateur dans ce forum?
Ou bien le fread est passé en big endian ou little endian?
j'avoue que ce problème me laisse perplexe...
Si quelqu'un a une idée!
Merci d'avance!
Message édité par otiasj le 22-07-2007 à 17:49:17