Chaine de caractères ds liste chainée en C

Fermé
muslima@ Messages postés 3 Date d'inscription mardi 21 mai 2013 Statut Membre Dernière intervention 9 mai 2014 - 12 janv. 2014 à 21:27
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 janv. 2014 à 07:08
Bonjour,

comment faire pour vérifier si une chaine de caractère est inclus dans l'autre ? est ce que nécessaire de convertir une liste chainée à une chaine de caractère pour la manipuler
voilà mon code :

typedef struct DepF {
char gh[20];
char dr[20];
struct DepF* suivant;
struct DepF* precedent;
};

typedef struct listedf{
DepF *debut;
DepF *fin;
DepF *courant;
int taille;
};



si qqun peut m'aider... merci d'avance
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
12 janv. 2014 à 22:20
Bonjour,

Non, pas besoin de listes.
Il te suffit d'utiliser la fonction strstr.
if (strstr(phrase, mot) == 0) {
    /*si mot est compris dans phrase*/
}

Cdlt,
0
muslima@ Messages postés 3 Date d'inscription mardi 21 mai 2013 Statut Membre Dernière intervention 9 mai 2014
14 janv. 2014 à 00:34
merci bcp pour ta réponse ,
mais ça ne marche ,il fonctionne de la même façon que strcmp dans mon projet et je n'ai sais pas pourquoi ??

voilà :

DepF* inclusion(listedf *l, char*s)
{
DepF *r = l->debut;
int x = 0;
for (x = 0; x < l->taille; ++x)
{
if (strstr(s, r->gh) == 0)
return r;
else r = r->suivant;
}
return NULL;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
14 janv. 2014 à 07:08
Normal ce n'est pas == 0 mais != NULL
0