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 :

[débutant]Pb de fichier


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut [débutant]Pb de fichier
    Bonjour,

    je voudrais copier les octet d'un fichier binaire dans un tableau d'octet, comment puis je faire ??

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Ouverture en mode binaire puis fread().

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    peux tu détailler un peu plus ta réponse stp car je suis un pur débutant.
    Un petit exemple serait le bien venu car je vois pas comment initialiser mon tableau ( je connais pas la taille du fichier ), et quelle boucle faire pour replir le tableau octet par octet.

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    On ne peut pas lire un fichier binaire 'a l'aveugle'. Il faut connaitre le nombre et le type des variables qu'il contient. Par exemple, si le fichier file.bin contient six reels double precision et qu'il a ete cree par la meme machine, on utilise:
    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
     
    FILE *f;
    double values[6];
     
    f = fopen("file.bin", "rb");
    if (f != NULL)
    {
        int n = fread(values, sizeof values, 1, f);
        fclose(f);
        if (n != 1)
        {
           fprintf(stderr, "Could not read file.bin.\n");
        }
    }
    else
    {
      fprintf(stderr, "Could not open file.bin.\n");
    }
    Si tu souhaites lire le fichier octet par octet, il faut utiliser une variable de type char ou unsigned char - mais il y aura surement des conversions a faire par la suite.

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Xhéras
    peux tu détailler un peu plus ta réponse stp car je suis un pur débutant.
    Un petit exemple serait le bien venu car je vois pas comment initialiser mon tableau ( je connais pas la taille du fichier ), et quelle boucle faire pour replir le tableau octet par octet.
    C'est surtout une question d'algorithme :
    1. ouvrir le fichier en mide binaire
    2. mesurer sa taille
    3. allouer un bloc de cette taile
    4. lire le ficher et le stocker dans ce bloc
    5. fermer le fichier
    6. traitements sur le bloc...
    7. libérer le bloc alloué.


    Tu as besoin de (dans l'ordre d'apparition à l'écran)
    fopen()
    fseek()
    ftell()
    malloc()
    rewind()
    fread()
    fclose()
    ...
    free()

    La doc est dans ton manuel de C ou dans ton cours ou ici (par exemple ...)

  6. #6
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    Je vais regarder tout ca et faire de mon mieux.

  7. #7
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    c'est bon j'ai réussi à créer mon tableau.

    Merci de l'aide.

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

Discussions similaires

  1. [Débutant(e)] Eclipse fichiers de traduction
    Par Raef dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/08/2005, 15h38
  2. Réponses: 3
    Dernier message: 17/05/2005, 14h26
  3. Réponses: 1
    Dernier message: 24/11/2004, 16h54
  4. [Débutant] Envoi de fichier par socket
    Par zapho dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 26/05/2004, 18h58
  5. [débutant] filtrer un fichier pour afficher des infos
    Par Valichou dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 21/04/2004, 11h44

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