Conversion d'une chaine minuscule en majuscule
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 :
Citation:
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'
sur la ligne :
Code:
for (unsigned i = 0; i < Chaine.size; i++)
dans la fonction toupper.
Je n'arrive pas à comprendre, voici le code :
Code:
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 |
Merci de votre aide !