Reperer variable dans une chaine (C)
malekith25
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voila mon problème, j'ai une variable (qui contient une lettre),et jaimerais savoir s'il est possible de la rechercher dans une chaine.
ex (attention sa ne marche pas)
bonnelettre=strchr(Mot,Lettre); // je recherche ma lettre dans le mot si elle n'y est pas bonnelettre=0
if (bonnelettre != NULL)
{
printf("gagner");// si bonnelettre a été trouver écrire gagner
}
else
{
printf("louper")// sinon écrire louper
}
voila je veut sa mais que sa marche ^^ (si c'est possible)
voila mon problème, j'ai une variable (qui contient une lettre),et jaimerais savoir s'il est possible de la rechercher dans une chaine.
ex (attention sa ne marche pas)
bonnelettre=strchr(Mot,Lettre); // je recherche ma lettre dans le mot si elle n'y est pas bonnelettre=0
if (bonnelettre != NULL)
{
printf("gagner");// si bonnelettre a été trouver écrire gagner
}
else
{
printf("louper")// sinon écrire louper
}
voila je veut sa mais que sa marche ^^ (si c'est possible)
Configuration: Windows XP Firefox 3.5.7
5 réponses
-
Bonjour,
C'est la bonne façon de faire. Après, il faut implémenter correctement.
#include <stdio.h> #include <string.h> int main(void) { char *chaine="abcde"; char *p=strchr(chaine,'e'); if (p!=NULL) { puts("caractere trouve"); } else { puts("caractere non trouve"); } return 0; } -
salut,
je pense que tu n'as pas compris car je ne vois aucune variable dans ton code.
perso moi je veux que a la place de ton 'd' il y est une variable, c'est a dire une lettre que j'ai demander a l'utilisateur.
merci. -
Si si j'ai très bien compris, mais j'espérais que t'arriverais à adapter...
#include <stdio.h> #include <string.h> int main(void) { char *chaine="abcde"; char *p; int var; printf("choix caractère : "); fflush(stdout); var=getchar(); p=strchr(chaine,var); if (p!=NULL) { puts("caractere trouve"); } else { puts("caractere non trouve"); } return 0; }
Et si tu veux modifier la chaîne de caractère "abcde", c'est possible aussi, il suffit d'utiliser fgets.
Cdlt, -
Désolé je débute sa fait - d'une semaine j'ai encore un peu de mal ^^
merci je vais essayer tout de suite.-
- Je ne comprends pas sa:
char *chaine="abcde";
// a la place de "abcde" je dois bien mettre mon mot ? "mais si lui aussi est une variable (une chaine).
char *p; // pointeur ? ( question peut etre con mais j'ai encore du mal avec sa^^')
int var;
printf("choix caractère : "); fflush(stdout);
var=getchar(); // et la que se passe t-il?
p=strchr(chaine,var); - Si tu veux mettre une variable dans chaine, il faut faire ceci :
char chaine[16]; /*déclaration du tableau chaine*/
printf("entrez votre chaine : "); fflush(stdout);
scanf("%15s",chaine); /*l'utilisateur pourra entrer sa chaîne dans le tableau*/
char*p; /*oui cela s'agit d'un pointeur*/
var=getchar(); /*cela prendra un caractère du buffer clavier. En gros, cela permettra à l'utilisateur de taper un caractère*/
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
sinon je propose sa mais je ne comprends pas pourquoi sa marche pas s'il ya une bonne lettre:
for (i=0;i<=5;i++)
{
if(maLettre==Mot[i])
{
printf("il y a un %s\n",maLettre);
}
else
{
printf("pas bon\n");
}
}