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

muslima@ Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 846
 
Normal ce n'est pas == 0 mais != NULL
0