passage de std::string (ou std::vector<char>) à bit_vector (ou bitset)

passage de std::string (ou std::vector<char>) à bit_vector (ou bitset) - C++ - Programmation

Marsh Posté le 28-11-2003 à 21:42:12    

bonsoir,  
 
je voudrais convertir une suite de caractères en une suite de bits (qui aura donc (CHAR_BIT * le nombre d'éléments de ma suite de caractères) éléments) et vice versa, existe-t-il un algorithme standard pour ca ?
 
par exemple la suite 1, 2, 3 devra etre "traduite" en  
faux faux faux faux faux faux faux vrai
faux faux faux faux faux faux vrai faux
faux faux faux faux faux faux vrai vrai


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 28-11-2003 à 21:42:12   

Reply

Marsh Posté le 28-11-2003 à 22:20:06    

euh en quoi un vector<unsigned> c'est pas bon ?

Reply

Marsh Posté le 28-11-2003 à 23:02:33    

à la place du std::string ou vector<char> ? bien parce que ce que je devrais étudier sera un bout de fichier, cela m'avait paru au 1er abord plus facile de le lire en temps que sequence de caractères plutot que d'unsigned ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 28-11-2003 à 23:08:52    

si tu disais plutôt ce que tu veux faire parce que là ....

Reply

Marsh Posté le 28-11-2003 à 23:12:02    

et bien, je voudrais ouvrir et interpreter un fichier dans un format spécial : par exemple la signature (au debut du fichier) pourrait etre codé sur 3 bits, la version sur 5 bits, etc
puis aussi pouvoir ecrire un tel fichier.


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 28-11-2003 à 23:27:52    

ben tu ouvre ton fichier en binaire, tu le lit d'un bloc et tu fait ta tambouille surt un unsigned char* je vois pas la difficulté.

Reply

Marsh Posté le 28-11-2003 à 23:40:24    

je me demandais juste si on pouvait pas utiliser les conteneurs de la stl, plutot que de faire du bricolage sur un unsigned char*.
J'avais pensé qu'un vector<bool> accelererait les operations (et serait un peu moins casse-tete) et ne gaspillerait pas trop de mémoire car mes fichiers sont petits.


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 28-11-2003 à 23:42:42    

tu cherche midi à 14 heure.
 
utilise un ifstream ouvert en binaire recupere tout ton fichier dans un char*, applique tes masques.
 
La, la STL se prete mal a ce genre de truc.

Reply

Marsh Posté le 28-11-2003 à 23:55:11    

bien, merci pour le conseil :jap:


---------------
-( BlackGoddess )-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed