Salut � tous,
Je suis d�butant, et je voudrais savoir comment interroger l'�galit� de deux strings de mani�re insensible � la casse.
Je fais sChaineInterrog�e==sChaineModele
Ca marche, mais c'est sensible � la casse.
Merci � tous.
Alain
Salut � tous,
Je suis d�butant, et je voudrais savoir comment interroger l'�galit� de deux strings de mani�re insensible � la casse.
Je fais sChaineInterrog�e==sChaineModele
Ca marche, mais c'est sensible � la casse.
Merci � tous.
Alain
Salut,
avant de les comparer, tu mets tous les caract�res de tes deux cha�nes en majuscule. J'esp�re que c'est ce que tu voulais.![]()
Salut,
Oui c'est ce que je veux faire.
Dans la FAQ, il passe par des foncteurs. Et de plus, �a ne marche pas chez moi, je ne dois pas avoir le bon header pour transform.
Je voudrais faire plus simple.
Juste utiliser une boucle et toupper().
Mais toupper prend un int comme argument.
Comment puis-je transmettre chacuns des caract�res de ma string � toupper() et les recuperrer pour en faire une nouvelle string.
Comment convertir un caract�re en int?
Merci.
Alain
La conversion de char en int est automatique (un char est un petit entier). Par contre la conversion inverse demande un petit static_cast, puisqu'il y a perte de taille.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 char c = 'x'; c = static_cast<char>(toupper(c));
Mieux que SDL : d�couvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Euh, juste pour �tre s�r: toupper() est suppos� accepter les valeurs n�gatives ou faut-il passer par un unsigned char, comme pour les fonctions isXXXX() de <ctype.h> ?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
t'as essay� simplement �a :
sinon dans boost, l'algo to_upper() qui prend juste un param�tre.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <string> #include <algorithm> int main() { std::string str( "test" ); std::transform( str.begin(), str.end(), str.begin(), toupper ); std::cout << str << std::endl; return 0; }
le header <algorithm> fait partie de la librairie standard, bizarre que tu ne l'aies pas
Tu as quoi comme erreur ?
C'est exactement ce que fait transform (sauf qu'il modifie directement la string, il n'en cr�e pas une nouvelle) ... Donc si tu ne peux pas l'utiliser, il te suffit de la r��crire : boucle sur l'iterateur de ton string et applique exactement ce qu'il y a dans la FAQ : cast vers uchar et fonction toupper.Je voudrais faire plus simple.
Juste utiliser une boucle et toupper().
Mais toupper prend un int comme argument.
Comment puis-je transmettre chacuns des caract�res de ma string � toupper() et les recuperrer pour en faire une nouvelle string.
Comment convertir un caract�re en int?
Merci.
Alain
Sinon l'article "comment manipuler des cha�nes ind�pendamment de la casse" donne une autre solution.
Partager