C++ suppression des accents

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!

3 réponses

  1. Modérateur
    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
    1. 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