bonjour,
si on veut créer une fonction qui dans une chaîne de caractère, convertit les majuscules en minuscules, et les minuscules en majuscules, comment faudrait-il procéder ?
merci.
bonjour,
si on veut créer une fonction qui dans une chaîne de caractère, convertit les majuscules en minuscules, et les minuscules en majuscules, comment faudrait-il procéder ?
merci.
Il faudrait lire la documentation des fonctions de la bibliothèque standard et ainsi trouver les deux fonctions qui font la conversion minuscules <-> majuscules.si on veut créer une fonction qui dans une chaîne de caractère, convertit les majuscules en minuscules, et les minuscules en majuscules, comment faudrait-il procéder ?
Un pointeur sur la chaîne en argument de la fonction. Dans la fonction, une boucle qui parcours la chaîne caractère par caractère et pour chaque caractère, du détermine s'il est en majuscule ou minuscule avec les fonctions islower et isupper et tu fait l'opération qui va bien avec les fonctions tolower/toupper
Fait la fonction et reviens ici![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Dans ta fonction recevant comme parametre un pointeur sur la chaine a transformer,
Tu déclares un pointeur (char *pt)que tu initialises sur le début de ta chaîne.
si *pt est compris entre 'a' et 'z',
tu y rajoutes 'A'-'a'
sinon
si *pt est compris entre 'A' et 'Z', tu y rajoutes 'a'-'A'
tu incrémentes ton pointeur jusqu'à ce que tu rencontre le 0 de fin de chaîne.
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
D'ailleurs ça me fait penser que si je veux convertir un caractère représentant un chiffre ('5' par exemple) en valeur numérique correspondante (5), je fais '5' - '0' (ce qui n'est évidemment pas non plus portable puisque je suppose que les caractères '0', '1', '2', '3', '4' et '5' sont consécutifs dans la table ascii). Mais j'ai pas trouvé de fonction "normalisée" pour faire l'équivalent. Quelqu'un aurait une piste ??? (mais s'il vous plaît, ne me parlez pas de "atoi()" ou "strtoul()" comme j'ai déjà vu dans ce fofo car ces fonctions prennent en entrée des chaînes et non des char)...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Ce n'est pas le cas pour certains codes. Voir une belle collection de vieux codes: http://homepages.cwi.nl/~dik/english/codes/.
Mais c'est plus pour l'anectode que pour autre chose. Ca n'a plus guere d'interet pratique. Et de toute facon, c'est exige par la norme C.
Ben si, justement, c'est portable pour les chiffres décimaux (digits, ou caractères '0'-'9'), comme c'est exigé par la norme. C'est pour ça qu'il n'y a pas de fonction pour ça. L'abstraction est ici inutile.
La bibliothèque standard du C n'est pas parfaite, mais elle donne quand même un certain nombre d'indications sur les Bonnes Pratiques...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager