C'est bon j'ai utilisé un iss. Je donne ma méthode, même si boost est pas mal, mais dans mon cas je préfère utiliser la mienne.
Mon fichier : "fichier.txt"
syntaxe des lignes : "bonjour, je, suis, un, exemple ; daccord , et, bien, moi, aussi;"
string cmd,commande;
ifstream tableau("fichier.txt");
while ( getline( tableau, commande, ';' ) ) // Recupération des lignes dans le fichier (commande est ma string à redécouper)
{
commande=commande.substr(commande.find_first_not_of(' ')); // On enleve l'espace des string (histoire de chipoter)
istringstream option(commande.data( )); //surment pas la meilleure chose à faire
while ( getline( option, cmd, ',')
{
cout << cmd << endl;
}
}
Et si je me trompe pas cela donne :
bonjour
je
suis
un
exemple
daccord
et
bien
moi
aussi
Je dois découper ma string en deux suivant les " ; " puis en morceaux suivant les " , "
J'ai un autre problème après celui-ci pour comparé un morceau dans la partie avant le " ; " avec une ligne d'un autre fichier et si je trouve ce morceau dans la ligne de l'autre fichier. Je dois remplacer ce morceau par le morceau dans la partie après le " ; "
ex :
dans fichier.txt
"bonjour, je, suis, un, exemple ; daccord , et, bien, moi, aussi;"
dans fichier "original.txt"
"bonjour comment ca va ?"
J'extrait les morceaux de la ligne fichier.txt et je les comparent avec la première ligne de original.txt
Le but étant de trouver "bonjour" et le remplacer par "daccord" ou bien "je" par "et" si "je" est trouvé.
Je sais c'est confu mais si quelqu'un à une idée car le find j'ai du mal à trouver ou le mettre.