Savoir si une string contient... [Résolu]

Signaler
Messages postés
49
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
26 janvier 2005
-
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Bonjour !
J'aimerais savoir quelle fonction permetterait de savoir si une string est contenue dans une autre ?
Et même savoir si plusieurs string sont contenus dans la même string ?
Merci, ++

8 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
1
strstr()

Mais attention, en C (si tu parles de C..) on ne parle pas de string (c po du VB !), on dira 'chaine de caracteres'..

+2(p - n)
Messages postés
49
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
26 janvier 2005
2
Merci (je parle de c++)
@+ !
Messages postés
49
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
26 janvier 2005
2
J'ai du mal quand même...
Voilà j'aimerai savoir si "chaine1" et "chaine2" sont contenus dans chaine :

string chaine;
chaine = String;
  
if (strstr(chaine, "chaine1", "chaine2")))
{
cout << "Tout va bien" << endl;
}


Mais ca me dit :
no matching function for call to `strstr(std::string&, const char[4], const char[4])'

J'ai du mal comprendre comment s'utilisait cette fonction..
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
1
Oula, ok. D'abord c du C++ ton code, donc je ne sais pas sil ya pas une fonction mieux aproprié, enfin bon, je t'explique :
char *strstr(const char *ch1, const char *ch2); //Proto de strstr
Donc comme tu peux le voir, il n'y a ke 2parametres..
ch2 correpond a la chaine ke tu veux trouver ds ch1, et strstr te renvoie un pointeur vers la premiere occurence trouvée, voila..
Ya pas mal de sites sur les bases du C/C++, commence par la..

+2(p - n)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
en c++,

string chaine;
chaine = String;

if ( chaine.find("chaine1") != string::npos && chaine.find("chaine2") != string::npos )
{
cout << "Tout va bien" << endl;
}

regarde ici
http://www.sgi.com/tech/stl/basic_string.html

ya plein de variantes et de surcharges
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
exemple de code :

regarde la fonction
bool BString::checkIn(const BString & toCheck)

de ma lib BString en ligne sur ce site
++
Bonne prog
Magic Nono: l'informagicien! 8-)
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
1
Une ptite pub encore de la part de magic_nono..
Tu es sur que tu t'es pas planté de branche ? je te vois bien en VRP moi...

(je taquine..)

+2(p - n)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
pub ou réponse?

ça serait de la pub si j'y vendais qqch non?

là, c'est une référence
complète
répondant mm à d'autres questions ultérieurs...

Magicalement Alex...
++