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 :

Ouvir un programme en binaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Halobox
    Invité(e)
    Par défaut Ouvir un programme en binaire
    Bonjour,


    Je ne connais pas exactement le vocabulaire, mais est-il possible, d'ouvrir un fichier en "binaire" pour ensuite pouvoir remplir une chaine de caractère avec les "011010110" retournés ?

    Ou bien faire pareil en Hexa, merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Tu peux effectivement ouvrir un fichier en bianaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = fopen("toto.dat", "rb");
    puis tu lis ce fichier avec des fread par exemple et tu fais ce que tu veux avec les octets lus, en particulier tu peux les afficher un à un en utilisant des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%02X", (unsigned char) chaine[i]);
    Rappelle-toi que tu lis des données qui sont rangées sous forme binaire en mémoire et que tu les affiches ensuite comme tu veux, en hexa, en base 2, en ASCII...
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    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 Re: Ouvir un programme en binaire
    Citation Envoyé par Halobox
    Je ne connais pas exactement le vocabulaire, mais est-il possible, d'ouvrir un fichier en "binaire" pour ensuite pouvoir remplir une chaine de caractère avec les "011010110" retournés ?

    Ou bien faire pareil en Hexa, merci.
    Pour l'affichage en binaire, il faut écrire le code (rien de standard). Pour l'hexa, le formatteur "%x" (ou "%X") de *printf() est fait pour ça.

  4. #4
    Halobox
    Invité(e)
    Par défaut
    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
    #include <stdlib.h>
    #include <stdio.h>
    #define F "toto.dat"
    #define F2 "gg.dat"
     
    int main(){
        FILE *in, *in2;
     
        in = fopen(F, "rb");
        in2 = fopen(F2, "rb");
     
     
        printf("%X\n\n",in);
        printf("%X\n\n",in2);
     
        system("PAUSE");
        return 0;
    }
    Voila ca me retounre des chiffres different de ceux quand j'ouvre les fichier avec un editeur hexa, où est mon erreur ?

    Sinon il faut mettre quoi a la place de %X pour afficehr en binaire.



    MErci

  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 Halobox
    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
    #include <stdlib.h>
    #include <stdio.h>
    #define F "toto.dat"
    #define F2 "gg.dat"
     
    int main(){
        FILE *in, *in2;
     
        in = fopen(F, "rb");
        in2 = fopen(F2, "rb");
     
     
        printf("%X\n\n",in);
        printf("%X\n\n",in2);
     
        system("PAUSE");
        return 0;
    }
    Voila ca me retounre des chiffres different de ceux quand j'ouvre les fichier avec un editeur hexa, où est mon erreur ?
    Ouh la la! Ouvrir un livre de C d'urgence! Après ouverture du fichier, il faut le lire (fgetc() etc.). D'autre part, fopen() peut echouer... Il faut tester la valeur retournée. Si elle vaut, NULL, l'ouverture a echoué...
    Sinon il faut mettre quoi a la place de %X pour afficehr en binaire.
    Quels sont les mots que tu ne comprends pas dans
    Pour l'affichage en binaire, il faut écrire le code (rien de standard).

Discussions similaires

  1. Besoin d'aide programme décimal -> binaire
    Par Zertyr dans le forum Général Python
    Réponses: 11
    Dernier message: 19/05/2014, 18h30
  2. [Questions]Le langage de programmation Binaire existe t-il ?
    Par Nasky dans le forum Langages de programmation
    Réponses: 30
    Dernier message: 16/11/2012, 09h09
  3. [Débutant] Petit souci programme de conversion binaire
    Par scofild20 dans le forum Assembleur
    Réponses: 2
    Dernier message: 26/03/2007, 12h01
  4. Réponses: 3
    Dernier message: 28/12/2006, 15h06
  5. Executer du code binaire au sein d'un programme
    Par Hidekii dans le forum MFC
    Réponses: 13
    Dernier message: 07/09/2005, 22h10

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