Bonjour,
J' apprend le langage petit à petit et j'ai coder un répertoire en console, j ' aimerais en même temps vos avis :
Mais il y a une fonction que je ne comprend, c'est la fonction dont le prototype est : int tolower( int c ).
J'ai une fonction qui converti une chaine en minuscule:
Mon compilateur m'indique un warning: conversion to 'char' from 'int' may alter its value.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int verifier(char motLu[], char code) { const char motDe_Modif[5][10] = { {"nom"}, {"prenom"}, {"tel"} , {"civiliter"}, {"statut"} }; const char civiliter[3][6]= { {"mr"}, {"mlle"}, {"mme"} }; int i= 0; for( ; motLu[i] != '\0'; motLu[i]= tolower(motLu[i]), i++); // conversion du mot en minuscule ... ..... }
Traduction : convertir un char en un int peut changer sa valeur, je présume que la fonction utilise la formule suivante pour convertir la lettre: lettre + 'A' - 'a'. Dans l'hypothèse que tout le monde dispose de la même table ASCII et que la façon dont j'emploie cette fonction est correct, je ne comprends pas vraiment ce qu' il cloche.
Je met un char dans la fonction alors qu'elle attend un int mais il me semble qu'il y a une conversion dans ce cas, puisque une lettre est un nombre.
Merci d'avance !
Cordialement,
ZeroToto.
Le man tolower() http://www.linux-kheops.com/doc/man/...tolower.3.html
Partager