C++ suppression des accents

Vivi -  
mamiemando Messages postés 33228 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!

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    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
  2. 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