Bonjour a tous,

je recherche dans le cadre de mon projet a implementer deux methodes afin de convertir le contenu d'une string.

Ma striing peut etre sous deux format:

contenir pour chaque char de ma string soit des '0', soit des '1', et je cherche a diminuer par 8 la taille en faisant un stockage plutot du genre:

string initiale

ascii
0 1 0
bin
00110000 00110001 00110000

et je veux stocker directement en bin
010 (pour connaitre la taille, ce n'est pas un probleme)

Comment faire?

J'ai commence quelquechose du genre:
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
19
20
21
22
23
24
25
26
27
28
 
char *_tmp_char;
int numOfBits =0;
std::string _initstr; // string that use more memory
std::string final; // reduced memory container
 
std::cin >> _initstr; // get a string like 0101010 : 7bits but use 7bytes 
numOfBits= _initstr.length(); 
final.erase();
 
_tmp_char = &final.at(0); 
for (var =0; var < _initstr.length(); var++)
{
  if (_initstr.at(var) != '0' && _initstr.at(var) != '1' )
  {
	numOfBits--;
	std::cout << "error char :"<<_initstr.at(var)<< " at position :"<< var << " is not binary value"<<  std::endl;
  }
  // assign value to string char
  else
  {
	std::cout << _initstr.at(var) << std::endl;
 
	*_tmp_char <<1;  <= ici je sais plus comment faire...
 
 
  }
}
est ce un bon depart?, cela ne me parait pas tres elegant, mais je suis a court d'idee.

cordialement

rikau2