begin process at 2012 05 28 07:30:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

analyse syntaxique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

analyse syntaxique

mardi 2 mars 2010 à 01:31:02 | analyse syntaxique

fadiam

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.

Merci de vos réponses.
mardi 2 mars 2010 à 09:21:02 | Re : analyse syntaxique

dragonjoker59

tu peux aussi faire le test suivant :
Code C/C++ :
if (chaine[index] >= '0' && chaine[index] <= '9')
{
// C'est un chiffre
}
else
{
// C'est autre chose
}


Les caractères (ASCII, pas Unicode) ne sont pas des entiers mais des octets, dont on peut récupérer la valeur en les convertissant en entiers


Coin coin !
mardi 2 mars 2010 à 20:39:34 | Re : analyse syntaxique

fadiam

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?

merci beaucoup pour vos réponses.
samedi 6 mars 2010 à 12:23:40 | Re : analyse syntaxique

rt15

Membre Club Administrateur CodeS-SourceS
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.
samedi 6 mars 2010 à 12:29:56 | Re : analyse syntaxique

fadiam

Merci.
C'est vrai que la taille est différente selon que j'utilisai, fgets, gets ou scanf.
Il parait que fgets est la plus sécurisée?
samedi 6 mars 2010 à 13:23:43 | Re : analyse syntaxique

rt15

Membre Club Administrateur CodeS-SourceS
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.


Cette discussion est classée dans : chaine, tableau, caractères, syntaxique, analyse


Répondre à ce message

Sujets en rapport avec ce message

D'une AnsiString à un Tableau de char [ par sevenace ] Bonjour à tous, Mon AnsiString provient d'un EditBox. Je récupère le nombre de caractères comme ça:     AnsiString chaine = EditChaine->Text;     i remplir un tableau avec des chaines de caractères (C) [ par djibfr ] Bonjour à tous! Alors voila, j'ai un petit problème tout bête mais je n'arrive pas à la résoudre et mes recheches ne m'ont pas trop éclairé. Je souhai longueur tableau de chaune de caractere [ par Marco59190 ] Salut tout le monde :D J'ai un petit problème... J'ai un tableau de chaine de caractère comme par exemple : char *mot10[] = {"ordinateur","multimedia" Analyse lexicale / syntaxique [ par Cartman13 ] Bonjour a tous.Je bosse actuellement sur un analyseur sémantique en C++.Concrètement le fichier est le avec ifstream (flux d'entrée) et stocké dans un opérations dans une chaine de caractères [ par bagaz ] Bonjour à tous.Voila j'aimerais faire un programme qui fasse l'évaluation d'une expression qui tient dans un char * et qui retourne le resultat.un exe initialiser un tableau de chaine de caractère [ par Apache_31 ] Bonjour ,Voila j'ai une classe Data qui doit avoir un tableau de chaine de caractère char *tabMeteo[]={"30","4 passer un tableau de caractères en argument [ par moumouteb ] Bonjour.C'est peut être un problème de base mais je n'ai jamais compris comment faire. Donc voila je veux passer un tableau de caractères en argument Chaines de caractères [ par Roro8883 ] Salut,je suis complètement perdu et embrouillé dans les chaînes de caractères en C++ !!!!Comment est-ce que je peux faire pour savoir, dans une chaine chaines de caractères dans un tableau char a 2 dimensions [ par deck_bsd ] Bonjour a tous, voila J'ai un fichier qui contient des mots (1sur une ligne différente) et je voudrai bien copier chacun de ces mots dans un tableau Manipulation chaine de caractères [ par banane_rose ] bonjour, voilà j'ai ça par exemple : zéro;un;deux;trois comment je peux faire pour "extraire" de cette chaîne de caractère les mots entre ";" considé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales