Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1816 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Ecrire en binaire dans un fichier...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecrire en binaire dans un fichier...

n°1327330
ojou
Posté le 17-03-2006 à 13:28:10  profilanswer
 

Bonjour tout le monde,
 
Voila j'ai un probleme pour écrie dans un fichier:
 
en fait je dois créer un fichier à partir de son code binaire: j'ai un fichier txt qui contient des 0 et des 1 qui constituent mon fichier d'origine et je dois donc lire ce fichier txt et créer mon fichier binaire...
 
J'ai donc ouvert mon fichier en "wb"... mais je n'arrive pas du tout à faire la suite... si quelqu'un peut juste m'aiguiller un peu ça serait vraiment cool !
 
Vous l'aurez compris je suis un débutant!
 
Merci

mood
Publicité
Posté le 17-03-2006 à 13:28:10  profilanswer
 

n°1327360
franceso
Posté le 17-03-2006 à 14:10:59  profilanswer
 

si j'ai bien compris, tu veux lire des séries de 8 caractères '0' ou '1' dans ton fichier texte, et les convertir en octets que tu dois écrire dans ton fichier binaire ?
 
tu peux te faire une fonction de conversion à qui tu passes un tableau de 8 caractères et qui te renvoit l'octet correspondant :

Code :
  1. unsigned char conv( char* txt )
  2. {
  3.   unsigned char c=0;      // l'octet qui sera renvoyé
  4.   unsigned char bit=0x1;  // bit de poids le plus faible ; par la suite, 'bit' contiendra le bit de poids courant
  5.   int i;
  6.   for( i=7 ; i>=0 ; --i )
  7.     {
  8.       if( txt[i]=='1' )   // on suppose que txt ne contient que des '0' ou des '1'
  9.         c |= bit;         // on ajoute le bit courant
  10.       bit = bit<<1;       // on décale d'un cran
  11.     }
  12.   return c;
  13. }


 
tu peux aller voir sur la page d'Emmanuel Delahaye : il me semble qu'il y a une bibliothèque de fonctions de manipulations de bits.

n°1327363
ojou
Posté le 17-03-2006 à 14:20:53  profilanswer
 

En fait est-ce possible d'écrire bit à bit??? je vais aller voir la page que tu m'as donné. Merci
 
Y'a un truc dont je ne suis pas sur: est-ce que si j'écris dans mon fichier binaire la valeur du caractère 'a' et que je l'ouvre avec notepad, est-ce que ça va afficher a?

n°1327367
skelter
Posté le 17-03-2006 à 14:26:30  profilanswer
 

un char est codé avec CHAR_BIT bits, pas 8

n°1327368
chrisbk
-
Posté le 17-03-2006 à 14:31:23  profilanswer
 

ojou a écrit :

En fait est-ce possible d'écrire bit à bit???


nan

n°1327370
ojou
Posté le 17-03-2006 à 14:35:27  profilanswer
 

ben mince... donc le mieux c'est de convertir mes 8bits en caractères et d'écrire "normalement" dans le fichier.

n°1327372
Elmoricq
Modérateur
Posté le 17-03-2006 à 14:37:08  profilanswer
 

ojou a écrit :

ben mince... donc le mieux c'est de convertir mes 8bits en caractères et d'écrire "normalement" dans le fichier.


 
Je ne comprends pas ce que tu essaies de faire.
 
Le mieux c'est d'écrire ton caractère dans le fichier. Pourquoi t'embêter avec la façon dont ton caractère est codé ? Surtout qu'il n'est peut-être pas sur 8 bits...

n°1327376
ojou
Posté le 17-03-2006 à 14:49:44  profilanswer
 

Bon c'est bon, je cherchais "un peu" trop compliqué. En gros je vais récupérer uhn fichier contenant des 0 et 1... je lis les 8 premiers et les convertis en caracteres pour les écrire dans mon nouveau fichier.
 
Merci de votre aide. Si vous avez tout de meme quelques conseils n'hésitez pas.

n°1327378
chrisbk
-
Posté le 17-03-2006 à 14:55:14  profilanswer
 

ué fais une sorte de buffer de sortie

n°1327379
franceso
Posté le 17-03-2006 à 14:55:31  profilanswer
 

skelter a écrit :

un char est codé avec CHAR_BIT bits, pas 8


Je savais pas... merci :jap:

mood
Publicité
Posté le 17-03-2006 à 14:55:31  profilanswer
 

n°1327409
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-03-2006 à 15:41:12  profilanswer
 

ojou a écrit :

En fait est-ce possible d'écrire bit à bit???


Non. L'unité est le byte (char en C, soit 8-bit minimum).

Citation :

Y'a un truc dont je ne suis pas sur: est-ce que si j'écris dans mon fichier binaire la valeur du caractère 'a' et que je l'ouvre avec notepad, est-ce que ça va afficher a?

Oui.
 
http://mapage.noos.fr/emdel/notes.htm#fichiers
 
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1327410
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-03-2006 à 15:42:07  profilanswer
 

ojou a écrit :


Voila j'ai un probleme pour écrie dans un fichier:
 
en fait je dois créer un fichier à partir de son code binaire: j'ai un fichier txt qui contient des 0 et des 1 qui constituent mon fichier d'origine et je dois donc lire ce fichier txt et créer mon fichier binaire...
 
J'ai donc ouvert mon fichier en "wb"... mais je n'arrive pas du tout à faire la suite... si quelqu'un peut juste m'aiguiller un peu ça serait vraiment cool !
 
Vous l'aurez compris je suis un débutant!


Montre ton code. On ne sait pas ce que tu sais.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1327420
ojou
Posté le 17-03-2006 à 15:58:24  profilanswer
 

Non mais c'est bon, pas besoin de continuer ce topic. Merci de votre aide, ça devrait aller. si j'ai d'autres probèmes je vous le ferai savoir.
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Ecrire en binaire dans un fichier...

 

Sujets relatifs
fichier swfmodification d' un fichier serveur par un poste client
[Vtemplate] setvarf fichier interprettétester un ligne vide dans un fichier
prob upload fichier dans popupComment lire ce fichier ?
Ecrire un octet binaire dans un fichierecrire dans un fichier binaire
Ecrire et lire directement un fichier en binaire... (java)[C] ecrire un tableau[N][N] en binaire dans un fichier
Plus de sujets relatifs à : Ecrire en binaire dans un fichier...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)