Bonjour,
Voila, etant donné un fichier .bmp, je voudrais le lire en binaire et le stocker dans un tableau par exemple.
Je pense utiliser les fstreams d´après ce que j´ai pu trouver sur le net.
voila mon code:
int main()
{
int* a;
unsigned char c; // caractère
int hex; // code hexa de ce caractère
long int n=1; // pour la taille du tableau
ifstream fichier("source150_.bmp", ios::in|ios::binary); // BINARY IMPORTANT !
if (!fichier)
{
cerr << "Erreur lors de l´ouverture du fichier " << endl;
return(1);
}
for(;;)
{
c = fichier.get();
a[n] = c;
if (fichier.eof()) break;
n++;
}
return(0);
}
Le seul pb c´est que ca me declanche une exception et je ne pige pas pourquoi.
C´est quand j´ajoute "c" dans mon tableau "a" que ca foire.
Est-ce que je suis sur la bonen voie pour lire un fichier en octet par octet et non en interprété comme des caractères ASCII.
Par exemple, je peux ouvrir mon ".bmp" avec l´editeur hexa de mon compilo (vc++).
Et je vois un truc du genre "AE 82 35 4E" et c´est exactement ce que je voudrais obtenir.
Dans mon cas j´aurais donc des groupes de deux chiffres hexa, qui repréentent un octet.
Pouvez vous me filer un coup de main sur le comment proceder?
En fait je voudrais clairement qu´on m´explique comment lire en octet par octet ou en bit par bit un fichier.
Merci bcp. ++