bonjour ,
je voudrais savoir si il existe des fonctions predefini en C ou C ++
pour tester une chaine de caracteres ( voir si ce n'est que du
numerique ou de l'alphanumerique.) ? la fonction format permet -elle
cela ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc Boyer
Le 08-05-2006, a écrit :
je voudrais savoir si il existe des fonctions predefini en C ou C ++ pour tester une chaine de caracteres ( voir si ce n'est que du numerique ou de l'alphanumerique.) ? la fonction format permet -elle cela ?
Rien de très facile à utiliser. La famille strtol, strtoul, permet de convertir une chaine en long, et de vérifier si la chaine ne contenait que ça (en testant la nullité du 2ème argument). Mais il faut véfifier si la gestion des débordements te conviens.
Après, il y la le méconnu spécificateur de format [], mais il n'est pas forcément évident à utiliser. Par exemple, sscanf( input_string, "%[0123456789]", out_string); retourne 1 si input_string commence par des caractères numériques. Mais il faut ensuite véfier que strlen(input_string) == strlen(out_string) pour voir qu'il n'y avait que ça. En plus, il faut pré-dimensionner out_string.
Donc, ça dépend de ce que tu veux faire. Si tu a des motifs très variés à tester, il vaut mieux chercher une bibliothèque qui le fasse. En C++ (HS sur ce forum, mais admettons une réponse rapide), Boost.regex http://www.boost.org/libs/regex/doc/index.html En C, je ne sais pas.
Sinon, si ton problème se résume explucisment aux deux cas que tu as présentés, sans gestion des accents, des espaces et autre, le spécificateur de format [] devrait suffire.
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. Paul Éluard)
Le 08-05-2006, zayd_ghannam@hotmail.com <zayd_ghannam@hotmail.com> a écrit :
je voudrais savoir si il existe des fonctions predefini en C ou C ++
pour tester une chaine de caracteres ( voir si ce n'est que du
numerique ou de l'alphanumerique.) ? la fonction format permet -elle
cela ?
Rien de très facile à utiliser.
La famille strtol, strtoul, permet de convertir une chaine en
long, et de vérifier si la chaine ne contenait que ça (en testant
la nullité du 2ème argument).
Mais il faut véfifier si la gestion des débordements
te conviens.
Après, il y la le méconnu spécificateur de format [],
mais il n'est pas forcément évident à utiliser.
Par exemple,
sscanf( input_string, "%[0123456789]", out_string);
retourne 1 si input_string commence par des caractères
numériques. Mais il faut ensuite véfier que
strlen(input_string) == strlen(out_string) pour voir
qu'il n'y avait que ça. En plus, il faut pré-dimensionner
out_string.
Donc, ça dépend de ce que tu veux faire. Si tu a des
motifs très variés à tester, il vaut mieux chercher
une bibliothèque qui le fasse. En C++ (HS sur ce forum,
mais admettons une réponse rapide), Boost.regex
http://www.boost.org/libs/regex/doc/index.html
En C, je ne sais pas.
Sinon, si ton problème se résume explucisment aux deux cas
que tu as présentés, sans gestion des accents, des espaces
et autre, le spécificateur de format [] devrait suffire.
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. Paul Éluard)
je voudrais savoir si il existe des fonctions predefini en C ou C ++ pour tester une chaine de caracteres ( voir si ce n'est que du numerique ou de l'alphanumerique.) ? la fonction format permet -elle cela ?
Rien de très facile à utiliser. La famille strtol, strtoul, permet de convertir une chaine en long, et de vérifier si la chaine ne contenait que ça (en testant la nullité du 2ème argument). Mais il faut véfifier si la gestion des débordements te conviens.
Après, il y la le méconnu spécificateur de format [], mais il n'est pas forcément évident à utiliser. Par exemple, sscanf( input_string, "%[0123456789]", out_string); retourne 1 si input_string commence par des caractères numériques. Mais il faut ensuite véfier que strlen(input_string) == strlen(out_string) pour voir qu'il n'y avait que ça. En plus, il faut pré-dimensionner out_string.
Donc, ça dépend de ce que tu veux faire. Si tu a des motifs très variés à tester, il vaut mieux chercher une bibliothèque qui le fasse. En C++ (HS sur ce forum, mais admettons une réponse rapide), Boost.regex http://www.boost.org/libs/regex/doc/index.html En C, je ne sais pas.
Sinon, si ton problème se résume explucisment aux deux cas que tu as présentés, sans gestion des accents, des espaces et autre, le spécificateur de format [] devrait suffire.
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. Paul Éluard)
Antoine Leca
En news:, "zizou" va escriure:
je voudrais savoir si il existe des fonctions predefini en C ou C ++ pour tester une chaine de caracteres ( voir si ce n'est que du numerique ou de l'alphanumerique.) ?
Une chaîne, en C standard et portable, non. Un caractère (simple), oui, regarde les fonctions de <ctype.h>
Antoine
En news:1147104894.248562.134580@u72g2000cwu.googlegroups.com,
"zizou" va escriure:
je voudrais savoir si il existe des fonctions predefini en C ou C ++
pour tester une chaine de caracteres ( voir si ce n'est que du
numerique ou de l'alphanumerique.) ?
Une chaîne, en C standard et portable, non.
Un caractère (simple), oui, regarde les fonctions de <ctype.h>
je voudrais savoir si il existe des fonctions predefini en C ou C ++ pour tester une chaine de caracteres ( voir si ce n'est que du numerique ou de l'alphanumerique.) ?
Une chaîne, en C standard et portable, non. Un caractère (simple), oui, regarde les fonctions de <ctype.h>
Antoine
Emmanuel Delahaye
bonjour , je voudrais savoir si il existe des fonctions predefini en C ou C ++ pour tester une chaine de caracteres ( voir si ce n'est que du numerique ou de l'alphanumerique.) ? la fonction format permet -elle cela ?
Tu peux convertir avec sscanf() et tester le résultat... Lire la doc...
-- A+
Emmanuel Delahaye
bonjour ,
je voudrais savoir si il existe des fonctions predefini en C ou C ++
pour tester une chaine de caracteres ( voir si ce n'est que du
numerique ou de l'alphanumerique.) ? la fonction format permet -elle
cela ?
Tu peux convertir avec sscanf() et tester le résultat... Lire la doc...
bonjour , je voudrais savoir si il existe des fonctions predefini en C ou C ++ pour tester une chaine de caracteres ( voir si ce n'est que du numerique ou de l'alphanumerique.) ? la fonction format permet -elle cela ?
Tu peux convertir avec sscanf() et tester le résultat... Lire la doc...