#include #include using namespace std; int main(void) { string sNomDep("val de marne"); string localite("val de vincennes marne"); /* Suppression des mots composants le nom du departement de la demande */ size_t lastPosMotDep=0; size_t iPosMotDep = sNomDep.find(' ', lastPosMotDep); while(iPosMotDep != string::npos && iPosMotDep > lastPosMotDep) { string motDep=sNomDep.substr(lastPosMotDep, iPosMotDep); cout << __func__ << " Nettoyage de localite -> mot a supprimer: [" << motDep << "] - iPosMotDep: " << iPosMotDep << " - lastPosMotDep: " << lastPosMotDep << endl; size_t iPos=0; iPos = localite.find(motDep); if(iPos != string::npos) { cout << __func__ << " Avant suppression localite: [" << localite << "] iPos: " << iPos << " - length: " << motDep.length() << endl; localite.replace(iPos, motDep.length(), ""); cout << __func__ << " Apres suppression localite: [" << localite << "]" << endl; } lastPosMotDep=iPosMotDep+1; iPosMotDep = sNomDep.find(' ', lastPosMotDep); cout << __PRETTY_FUNCTION__ << " sNomDep: [" << sNomDep << "]" << endl; } }