Lire TOUT les caractères d'un fichier binaire

harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007 - 17 févr. 2006 à 20:14
harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007 - 17 févr. 2006 à 20:18

1 réponse

harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007
17 févr. 2006 à 20:18
Je reposte parce que tout a l'heure ca n'a pas marché et j'arrive pas à éditer:

Hello,
alors ca fait longtemps,que j'ai pas fait de C faut pas m'en vouloir hein
J'ai besoin de lire 16 par 16 "caractère"(de 00 à FF quoi) d'un fichier binaire
Voilà mon code
int main(int argc, char* argv[])
{
FILE *fichier;
fichier=fopen("z:\\04CNTINF.DAT","rb");
if (fichier==NULL) exit(1);
char* buffer[16];


int i;
for(i=0;i<20;i++)//20: valeur arbitaire
{


fread (buffer,1,16,fichier);
printf ("iteration: %ld %s \n",i,buffer);
}





return 0;
}
arff je trouve pas les quote tant pis

Et hélas il 'affiche pas du tout ce que je veux
(ce n'est pas qu'un problème d'affichage: j'avais un programme similaire qui etait chargé de dupliquer un fichier : avec fwrite(buffer) à la place du printf et un buffer plus grand, mais j'avais le meme genre d'erreur).
Mon fichier à lire est constitué de la facon suivante:
16 octets purement "binaires"(des valeur entre 00 et FF)
XXXX(4 lettres) puis 128 octets composés d'une lettre suivi de 0x00 puis une lettre etc

et mon programme n'affiche pas les lettres seules mais il affiche cependant les XXXX
Enfin il fait du n'importe quoi.
Si quelqu'un sait d'ou ça veint.Ca sent l'erreur de Noob mais j'ai potassé le forum et ca n'a rien donné.
merci!
0
Rejoignez-nous