C++ suppression des accents

Vivi -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,


J'aimerai supprimé tous les accents contenu dans un string, y a t'il de fonction dans la bibliothèque C++ permettant de la faire ?

Sinon quelle méthodes faudrait-il utiliser ?

Merci!
A voir également:

3 réponses

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Effectivement je me suis craquée sur le assign j'ai lu trop vite.
Tu peux le faire avec une boucle for (sachant qu'alors tu peux directement manipuler un char*):
void suppr_accent(std::string & s){
  std::size_t len = s.size();
  for(std::size_t i = 0; i<len;++i){
    if(s[i] == 'é' || s[i] == 'ê' || s[i] == 'è') s[i] = e;
    else if(s[i] == 'û' || s[i] == 'ù') s[i] = u;
    else if(s[i] == 'â' || s[i] == 'à') s[i] = a;
    ...
  }
}

Bonne chance
1
vivi
 
Bonjour,

Je n'ai pas bien compris comment on pouvait supprimer les accents avec la fonction assign.
Cela supprime t'il également les accents "exotiques" de ce genre là : ě č ř... bref tous les accents pouvant exister dans ce monde ?

Merci
0