Salut,
Comme je commence à peine à m'intéresser à la bibliotheque boost,  je peux me tromper, mais il semblerait que, effectivement, ce soit tip-top ce que tu cherches 
Un code (inclusions comprises) pour la ligne que tu donnes en exemple, du genre de
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 |  
#include <iostream>
#include <boost/tokenizer.hpp>
#include <string>
 
int main()
{
  std::string str = "SI mot1:=valeur1 et mot2>valeur2 Alors mot3<Valeur3";
  typedef boost::tokenizer<boost::char_separator<char> >
    tokenizer;
  boost::char_separator<char> sep(" ");
  tokenizer tokens(str, sep);
  for (tokenizer::iterator tok_iter = tokens.begin();
       tok_iter != tokens.end(); ++tok_iter)
    std::cout << "<" << *tok_iter << "> ";
  std::cout << "\n";
  return EXIT_SUCCESS;
} | 
 te donnerait une sortie du genre de 
	
	<Si> <mot1:=valeur> <et> <mot2>valeur2> <Alors> <mot3<Valeur3>
  (parce que le code demande expressément, ici, d'entourer les terme de < et >  )
)
Si, en plus, tu prévois une gestion spéciale pour les "termes spéciaux" (ici: Si, et et Alors), ou que tu considère les caracteres =,< et > (et peut etre d'autres, comme ( { etc) comme séparateurs potentiels (par exemple  )  tu pourras parser tes chaines selon ta bonne convenance...
)  tu pourras parser tes chaines selon ta bonne convenance...
						
					
Partager