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. 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
    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