Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1271 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  std::string et majuscule/minuscule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

std::string et majuscule/minuscule

n°511309
blackgodde​ss
vive le troll !
Posté le 09-09-2003 à 22:35:49  profilanswer
 

y a-t-il un moyen de comparer deux chaines std::string sans prendre compte de la casse ?
 
sinon, y a-t-il moyen de transformer un chaine en minuscule ?


---------------
-( BlackGoddess )-
mood
Publicité
Posté le 09-09-2003 à 22:35:49  profilanswer
 

n°511322
altac
Posté le 09-09-2003 à 22:46:35  profilanswer
 

Y'a toujours un moyen de le faire si tu le codes toi meme :D
 
Sinon une bonne reference sur le sujet (meme si ce n'est qu'une implementation) :
 
http://www.sgi.com/tech/stl/
 

n°511324
Taz
bisounours-codeur
Posté le 09-09-2003 à 22:47:47  profilanswer
 

ou fais une recherche, on avait déjà beaucoup parlé

n°511332
schnapsman​n
Zaford Beeblefect
Posté le 09-09-2003 à 22:52:17  profilanswer
 

altac a écrit :


Sinon une bonne reference sur le sujet (meme si ce n'est qu'une implementation).


 
boarf, initialement ce furent deux chercheurs employés chez sgi qui ont la paternité de la stl.


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°511344
blackgodde​ss
vive le troll !
Posté le 09-09-2003 à 22:58:38  profilanswer
 

dsl, pour avoir 'oublié' la recherche...
 
pour ceux qui veulent :
 
http://forum.hardware.fr/forum2.ph [...] subcat=386


---------------
-( BlackGoddess )-
n°511366
altac
Posté le 09-09-2003 à 23:11:30  profilanswer
 

SchnapsMann a écrit :


 
boarf, initialement ce furent deux chercheurs employés chez sgi qui ont la paternité de la stl.


 
Il n'empeche qu'il y a certaines differences entre la STL SGI et le standard. C'est certainement le cas pour toutes les implementations, mais c'est mieux d'en etre conscient.

n°511375
schnapsman​n
Zaford Beeblefect
Posté le 09-09-2003 à 23:16:53  profilanswer
 

altac a écrit :


 
Il n'empeche qu'il y a certaines differences entre la STL SGI et le standard. C'est certainement le cas pour toutes les implementations, mais c'est mieux d'en etre conscient.
 


 
bah oui, mais si possible stlport est là [:zorro]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°511389
gatorette
Posté le 09-09-2003 à 23:33:25  profilanswer
 

BlackGoddess a écrit :

y a-t-il un moyen de comparer deux chaines std::string sans prendre compte de la casse ?


Le meilleur moyen que je connaisse est exposé dans le livre Exceptional C++ de Herb Sutter. Il faut juste définir une nouvelle classe de 'traits' (le deuxième argument template de basic_string) et de créer tes chaînes ainsi : std::basic_string<char,mon_chartraits>.
 

BlackGoddess a écrit :

sinon, y a-t-il moyen de transformer un chaine en minuscule ?


Tu peux la transformer en majuscule... Deux moyens que je tire de cette page :

Code :
  1. std::transform(s.begin(), s.end(), s.begin(), static_cast<int(*)(int)>(std::toupper));


ou (qui marche pour tous les types)

Code :
  1. template <typename T>
  2. T to_upper(T c)
  3. {
  4. return std::use_facet<std::ctype<T> >(std::locale()).toupper(c);
  5. }
  6. std::transform(s.begin(), s.end(), s.begin(), to_upper<T> );


 
-- Edit --
[:grilled:] J'avais pas vu la recherche...
Sinon pour ceux qui veulent, l'article de newsgroup qui a inspiré cette partie du bouquin peut se trouver ici


Message édité par gatorette le 09-09-2003 à 23:55:24

---------------
each day I don't die is cheating
n°511399
Taz
bisounours-codeur
Posté le 09-09-2003 à 23:48:08  profilanswer
 

pas la peine, on a déjà montrer que la simple rédaction d'un petit comparateur suffit, ce qui ne génère pas de copie

n°511401
LeGreg
Posté le 09-09-2003 à 23:50:23  profilanswer
 

le seul probleme de la méthode de Sutter c'est qu'en creant une nouvelle classe tu la rends incompatible avec l'ancienne classe
(et de plus il n'y a pas de polymorphisme par héritage dans la STL de base).
 
Bref une solution qui reposerait sur la basic string de base (arf) est pas mal du tout ;)
(euh je ne veux pas entendre parler de cast sale ;) )
 
LeGreg


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  std::string et majuscule/minuscule

 

Sujets relatifs
const string & Class::Methode()[Resolu] Pb avec un tableau de string en property
comment convertit ton un string en variable Tmemo ?Pb dans la transformation d'un String en int..
Manipulation de string c++Equivalent de $_SERVER["QUERY_STRING"] pour les variables en POST
allonger un string?Mettre dans une string le contenu d'un fichier texte qui est en ligne
[C]Probleme de char et string[Perl] Parser une string
Plus de sujets relatifs à : std::string et majuscule/minuscule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR