> Tous les forums > Forum Autres langages
 Ecrire Bit par Bit en C++Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
wit_of_murk
  Posté le 25/12/2007 @ 18:22 
Aller en bas de la page 
Petit astucien

Salut;

j'ai besoin d'une fnction ou d'une methode pour ecrire bit par bit dans un fichier avec le laguage C ou C++, qlq1 saurait-il comment ?!!

Publicité
breizhbugs
 Posté le 25/12/2007 à 18:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonsoir,

ce n'est pas possible d'ecrire bit a bit dans un fichier, l'unité la plus petite est l'octet.

Si tu as des operations binaires a faire il te faut "rassembler" les bits dans un octet a l'aides des operateur manipulant les bits (<< , >>, & et | je crois) puis ensuite enregistrer cet octet

wit_of_murk
 Posté le 25/12/2007 à 20:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

je crois que c'est une bon idee, mais comment je vais m'y prendre, je veux si tu peut me proposer un exemple.

merci

breizhbugs
 Posté le 25/12/2007 à 20:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Désolé, je n'ai pas d'exemple; mais pour reexpliquer il faut que tu fasse une fonction qui prenne un booléen en entrée, le pousse dans une variable char interne (static de facon a garder sa valeur a chaque appel) et qui a chaque appel multiple de 8 ecrive l'octet dans le fichier.

cela pourrait ressembler a :

  1. bool ecritbit(bool bit, handle fichier)
  2. {
  3. static char byte = 0; static char taille = 0;
  4. byte <<= bit; // on pousse '1' ou '0' dans byte
  5. taille++; // on indique que l'on a ajouter un bit
  6. if (taille == 8) //: car un octet c'est 8 bit;
  7. {
  8. fwrite(fichier, byte, ..); // c'est pas du 'c++' c'est du 'c'
  9. byte = 0, taille = 0;
  10. return true; //on indique que l'on a sauvegarder la valeur de byte dans le fichier
  11. }
  12. return false; //on indique que l'on a pas ecrit dans le fichier
  13. }

faut bien se souvenir que l'on ne sauvegarde que tous les 8 bits et donc si tu veux ecrire seulement 4 bits, il te faudra quand meme remplir les 4 derniers bits composant un octet (et donc peut etre enregistrer quelquepart combien de bit sont a prendre en compte lors de la lecture du fichier!)



Modifié par breizhbugs le 25/12/2007 20:51
wit_of_murk
 Posté le 25/12/2007 à 21:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Merci infinement, ca mavraiment aider, merci encore
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
39,99 €Assistant vocal Amazon Echo Auto avec Alexa à 39,99 €
Valable jusqu'au 30 Janvier

Amazon fait une promotion sur l'assistant vocal Echo Auto qui passe à 39,99 € (au lieu de 59,99 €). Ajoutez Alexa à votre voiture : Echo Auto se connecte à l'application Alexa sur votre téléphone et utilise les haut-parleurs de votre voiture via l'entrée AUX ou la connexion Bluetooth de votre smartphone. Bien plus que l'autoradio de votre voiture : contrôlez Echo Auto par simple commande vocale via l'application Alexa pour écouter du contenu en streaming sur Audible, Amazon Music, Apple Music, Spotify, Deezer ou des stations de radio du monde entier avec TuneIn. Support pour grille de ventilation inclus.


> Voir l'offre
12,20 €Micro clé USB 3.1 Sandisk Ultra Fit 64 Go à 12,20 €
Valable jusqu'au 30 Janvier

Amazon fait une promotion sur la micro clé USB Sandisk Ultra Fit d'une capacité de 64 Go qui passe à 12,20 €. La minuscule taille de cette clé USB va vous permettre de la laisser brancher en permanence sur votre portable, votre TV ou votre autoradio sans qu'elle dépasse de manière disgracieuse. Sa compatibilité USB 3.1 lui permet d'atteindre des débits jusqu'à 130 Mo/s. 


> Voir l'offre
30 €Haut-parleurs Bluetooth Logitech Z207 à 30 €
Valable jusqu'au 30 Janvier

Amazon fait une promotion sur les haut-parleurs bluetooth Logitech Z207 qui passent à 30 € livrés gratuitement alors qu'on les trouve ailleurs à partir de 43 €. Vous pouvez connecter ces haut-parleurs 10W à votre ordinateur, votre appareil mobile via une connexion sans fil bluetooth. Une entrée 3,5 mm est présente ainsi qu'un bouton de volume. 


> Voir l'offre

Sujets relatifs
Écrire sur stdout en VB6
Commande shell à écrire en C
VB6 : Ecrire un RecordSet dasn un .TXT
Ecrire sous Visual et executer sous DOS
 > Tous les forums > Forum Autres langages