fadiam
Messages postés15Date d'inscriptionsamedi 6 février 2010StatutMembreDernière intervention16 mars 2010
-
2 mars 2010 à 01:31
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
6 mars 2010 à 13:23
Bonjour à tous.
je cherche à réaliser une fonction qui modifie une chaine de caractères.elle n'accepte que les "chiffres" de 0 à 9 et quelques autres caractères. J'ai pensé mettre ces caractères dans un tableau et comparer chaques lettres de la chaine aux cases du tableau. est ce une bonne idée?
Sinon comment convertit-on une chaine de caractères en tbleau d'entier? code ascii? mais les caractères sont en fait des entiers si j'ai bien compris.
fadiam
Messages postés15Date d'inscriptionsamedi 6 février 2010StatutMembreDernière intervention16 mars 2010 2 mars 2010 à 20:39
merci beaucoup.
j'aurai une autre requete, si ce n'est trop demander...
En fait le but est d'entrer des numéros de télphones.
Lorsque l'on entre une suite de cacactères, sans espaces, (ce ne soit etre que des cacactères entre 0 et 9), ils sont automatiquement regroupés par défault par paire. ex : 2938362939 : 29 38 36 29 39
De plus, il ya des groupes de caractères "chiffres" séparés par des espaces.
Il ne doivent pas exeder 4 caractères. lorsqu'ils y a plus de 4 caractères à la suite sans espaces, ils doivent être réorganisés.Si c'est un nombre paire, on les regroupes pas paire, si impaire, on les regroupe comme suit
ex : 11111 : 1 11 11
dernieère question : la touche entrée(return je ne sais pas comment on l'appelle) est-elle lue par la fonction strlen?
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 6 mars 2010 à 12:23
Salut,
strlen compte les caractères jusqu'au zéro terminal. S'il y a un \n avant le 0 terminal il est compté.
Mais la présence ou non d'un \n dépend de la façon dont tu récupères la chaîne (scanf...).
Concernant ton problème, peut être que strtok s'adapterait très bien à ton problème.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 6 mars 2010 à 13:23
Effectivement. Le risque avec un scanf par exemple, c'est que l'utilisateur entre une chaîne plus longue que la taille de la chaîne de réception. Comme il n'y a aucun contrôle, ça peut faire complètement planter le programme.
Avec fgets, on peut préciser d'arrêter de lire s'il y a trop de caractères, donc pas de souci.