Quelle est la fonction qui me permet de savoir si les caractères

Résolu
koukikouki Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

quelle est la fonction qui me permet de savoir si les caractères de ma chaine de caractère sont en majuscule et celle qui me permet de savoir s ils sont en minuscule?
pouvez vous me donner un exemple.

Merci d avance
A voir également:

4 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Bonjour koukikouki,

isupper
, définie dans
ctype.h
, permet de tester si un caractère est une lettre majuscule ou pas.

http://www.cplusplus.com/reference/cctype/isupper/

Tu as un exemple dans cette documentation.

En voilà un très simple :

#include <stdio.h>
#include <ctype.h>

int main(void)
{
char c = 'A';

if (isupper(c))
{
printf("The character %c is uppercase\n", c);
} else
{
printf("The character %c is lowercase\n", c);
}

return 0;
}

Avec cette fonction standard, écrire une fonction qui vérifie si tous les caractères d'une chaîne sont en majuscules est trivial.


Dal
0
koukikouki Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   2
 
merciiii infiniment
0
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   55
 
Bonjour,

Après ça ne te coutes rien de la faire toi même, ça prend 15 secondes, tu es sûr du fonctionnement, des caractères pris en compte et tu peux en rajouter...
int my_isupper(char c)
{
return (c >= 'A' && c <= 'Z');
}

Cdlt,

EDIT : souligné
Software is like sex, it's better when it's free - Linus Torvald
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut Julien,

Ta proposition ne teste que les majuscules ASCII, et cela retournera un résultat éventuellement faux si une locale différente de la locale par défaut "C" est active.

http://www.cplusplus.com/reference/cctype/isupper/
http://www.cplusplus.com/reference/clocale/setlocale/

isupper renvoie un résultat en fonction de la locale active, c'est un des intérêts de son usage.

De plus, je pense que dans dont code, cela devrait être supérieur ou égal et inférieur ou égal, sinon, les lettres A et Z ne sont jamais prises en compte.


Dal
0
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   55
 
En effet merci, c'est plutôt inférieur ou égal.
Oui, je n'ai testé que les majuscules ASCII puisque comme je l'ai mentionné :
"tu es sûr (...) des caractères pris en compte et tu peux en rajouter... "
0
koukikouki Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   2
 
merci Julien
0