Bonjour,
je rencontre un problème dans une application en ligne de commande qui importe des chaînes de caractères dans un db Sqlite.


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
std::list <std::string> alist;
vector <string> vsyms;
boost::regex regsep("\t");
ifstream fin(infile);
while( fin.good() ) {
 
 getline(fin,line);
 if(not(regex_match(line,regvalid))) continue;
 boost::regex_split(std::back_inserter(alist),line, regsep);
 while( alist.size() ){ vsyms.push_back(*(alist.begin())); alist.pop_front();}
 ..
 for( unsigned i = 0; i < vsyms.size(); i++ ){
 
  cout << "this is it:" << vsyms[i] << endl;
 
 }
 
}
..

Si la ligne contient des codes de couleur HTML comme #F0FFFF ou #FFEBCD, l'impression est désordonnée, avec "this is it" à la fin, et pas de code de couleur.

Dans mon appli, un peu plus compliquée que l'exemple j'imprime:

:--:: Mon Jul 1 11:22:58 2013

au lieu de:

*** 3_MergeFile_(d=3): 3: #FFFF00:--:Color HEX:: Mon Jul 1 11:22:58 2013

mais seulement si le contenu est un Color Hex.

Où est l'erreur?

Merci d'avance