info19
Messages postés16Date d'inscriptionlundi 27 septembre 2010StatutMembreDernière intervention28 décembre 2012 3 janv. 2011 à 19:30
slt tout le monde!!
est ce que quelqun peut m'aider comment concatener une chaine de caractere avec un caracter?
j'ai essye strcat et strcpy mais j'ai trouve beaucoup de probleme
ce que je suis entaine de faire c'est de parcourir une chaine de caractaire
caractere par caractere et je test sur le caractere si c'est un := alors je vais mettre le mot dans une case dans un tableau
puis je vais mettre le plus puis le mot qui se trouve apres le symbole d'affectation
ex: ident:=xx+y;
je dois mettre ident dans la teble puis := puis xx puis + puis Y..
de meme s'il y a un espace
ma deuxieme question c'est comment exprimer le saut de ligne en c est ce que c '\n'?
merci d'avance
BunoCS
Messages postés15372Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention 5 juin 2023102 4 janv. 2011 à 09:39
Hello,
Je n'ai pas tout compris...c'est un peu confus.
- '\n' représente le retour à la ligne
- ":=" n'est pas un seul caractère mes 2, donc une chaine
- quels sont tes problèmes avec strcat() et strcpy()? il faut faire attention à ce que la chaine de destination soit assez grande...
info19
Messages postés16Date d'inscriptionlundi 27 septembre 2010StatutMembreDernière intervention28 décembre 2012 4 janv. 2011 à 22:52
slt
merci pour votre reponse
:c'est une chaine et donc je doit concatener le : avec le puisque le lit caractere par caractere
algorithmiquement:
ch=""
lire (c);
ch=ch+c;
ch est une chaine mais c c'est un caractere
strcat fait la concatenation de deux chaine mais pas d'une chaine et un caractere
enfin j'ai trouvé une solution :
char mot[100];
c=fgetc(file);
i=0;
mot[i]=c
et je vais le mettre dans une boucle jusqu'a obtenir c='+'||'-'||' '
et la je fais mot[i]='\0'
printf("%s",mot);
et ca marche
concernant ma deuxieme question:
je lit dans un fichier caractere par caractere avec fgetc() et je teste sur cahque caractere, je suis entraine de faire un analyseur lexical et je doit reconnaitre les lexeme
mon probleme comment je peut tester sur le retour en ligne?
exp: algorithme xx;
declaration entier:p
l'analyseur doit retourner:
algorithme-> mot reserve
xx-> identificateur
;->caractere de ponctuation
declaration->mot reserve
entier-> mot reserve
: caracter de ponctuation
p-> identificateur
ansi de suite
alors comment je peux exprimer que si mon caractere lu est un saut de ligne passer le cursseur de la lecture au debut de la prochaine ligne ?
j'espere que c'est claire
et pardon pour mon francais qui n'est pas bien
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?