c'est un problème qui parait simple et qui est pourtant loin de l'être... Il n'y a qu'a voir le nombre d'articles à ce sujet pour comprendre. Une petite recherche sur google s'impose.
Si tu n'utilises que que de l'anglais, alors tu peux utiliser une méthode du type:
Code :
- strcasecmp(a.c_str(), b.c_str())
|
(sous win32, la fonction ne s'appelle pas strcasecmp, mais je ne me souviens plus).
Je sais, c'est une fonction C, mais c'est encore ce qu'il y a de plus simple je trouve.
Après, si tu dois pouvoir utiliser d'autres encodages, c'est moins simple.
Tu peux regarder du côté de la fonction template lexicographical_compare qui fait partie de la STL. Regardes aussi ce qui concerne std::locale ainsi que la fonction template std::use_facet.