IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Lecture d'un fichier octet par octet


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 175
    Par défaut Lecture d'un fichier octet par octet
    Bonjour,

    Je souhaite lire les 50 premiers octets d' un fichier image, puis l'afficher sur la sortie standard, voila mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #include <stdio.h>
     
    int main()
    {
        FILE *f;
        unsigned char i, byte;
     
        f = fopen("test.png", "rb");
        if(f == NULL)
        	printf("erreur d'ouverture");
        else
        {
            for (i=0; i<50; i++)
    	{
    	    fread(&byte, sizeof(unsigned char), 1, f);
    	    printf("%X ", byte);
    	}
        }
     
     return 0;
    }

    Cela semble fonctionner mais les 0 ne s'affiche pas tous :

    89 50 4E 47 D A 1A A 0 0 0 D 49 48 44 52 0 0 0 30 0 0 0 30 8 6 0 0 0 57 2 F9 87 0 0 0 4 73 42 49 54 8 8 8 8 7C 8 64 88 0
    Qu'es-ce qui cloche ?

  2. #2
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par oranoutan Voir le message
    Cela semble fonctionner mais les 0 ne s'affiche pas tous :
    Tout les nombres s'affiche correctement. Par contre les 0 non significatif ne sont effectivement pas imprimes, de la même maniere que %d n'affiche pas les 0 non significatif.

    Si tu souhaites imprimer tout les nombres avec obligatoirment deux chiffres, utilises printf("%02X ", byte);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 175
    Par défaut
    C'est compris.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture d'un fichier .wav octet par octet
    Par DevVB dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/07/2007, 12h10
  2. [Java 1.4] : lecture d'un fichier octet par octet
    Par Thi0123 dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 08/06/2007, 21h29
  3. [Gestion de fichiers] Lecture octet par octet
    Par kendras dans le forum C
    Réponses: 21
    Dernier message: 18/09/2006, 15h08
  4. Lecture d'un fichier octet par octet
    Par Yux dans le forum C
    Réponses: 7
    Dernier message: 31/10/2005, 22h58
  5. Lecture d'un fichier octet par octet
    Par PopKoRn...X_x dans le forum C++
    Réponses: 10
    Dernier message: 01/07/2005, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo