Bonjour,
Je voudrais tester si ma chaine contient une minuscule et la transformer en majuscule dans ce cas. En revanche, si ma chaine est en majuscule, je voudrais la passer en minuscule. J'ai donc fait le code pour tester si le caractère est un minuscule ou majuscule, selon le cas, je le transforme, pour cela j'ai parcouru la chaine avec une boucle for jusqu'à la taille de la chaine.
Le problème c'est que j'obtiens l'erreur :sur la ligne :error C2446: '<'*: pas de conversion de 'unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const' en 'unsigned int'dans la fonction toupper.
Code : Sélectionner tout - Visualiser dans une fenêtre à part for (unsigned i = 0; i < Chaine.size; i++)
Je n'arrive pas à comprendre, voici le code :
Merci de votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 namespace { bool IsUpper(char caractere) { return (caractere >= 'A' && caractere <= 'Z'); }// Test si le caractère est en majuscule bool IsLower(char caractere) { return (caractere >= 'a' && caractere <= 'z'); }// Test si le caractère est en minuscule string ToUpper(string Chaine) { for (unsigned i = 0; i < Chaine.size; i++) { if (IsLower(Chaine[i])) Chaine[i] = toupper(Chaine[i]); } return Chaine; }// Transforme la chaine en majuscule (elle parcours toute la chaine et test le caractère d'indice i) string ToLower(string Chaine) { for (unsigned i = 0; i < Chaine.size; i++) { if (IsUpper(Chaine[i])) Chaine[i] = toupper(Chaine[i]); } return Chaine; }// Transforme la chaine en minuscule (elle parcours toute la chaine et test le caractère d'indice i) } // Namespace
Partager