Bonjour, je recherche comment traduire en langage C :
la condition suivante : si .cr est contenu dans la variable host { jexecute } par exemple
Exemple en langage mIRC : if (.cr isin $variable) { jexecute }
Merci d'avance pour votre aide
Bonjour, je recherche comment traduire en langage C :
la condition suivante : si .cr est contenu dans la variable host { jexecute } par exemple
Exemple en langage mIRC : if (.cr isin $variable) { jexecute }
Merci d'avance pour votre aide
Bonsoir,
strstr devrait convenir
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Même si tu ne connais pas une fonction pour faire cela, rien ne t'empêche de la recréer toi-même.
Tu parcours ta chaîne de caractère et tu t'arrête soit au '\0' soit dès que tu as trouvé le premier caractère de le sous-chaîne recherchée.
Tu regarde le caractère suivant s'il
- correspond, tu continus en parcourant la sous-chaîne cherchée
- si en plus il est égal au premier caractère de la sous-chaîne cherchée et que tu n'as pas encore noté de rang, tu note son rang.
- Si il ne correspond pas :
-> Si un rang est noté, tu reprend à partir de ce rang
-> Si aucun rang n'est noté, tu reprends à partir de ta position.
Faut savoir s'amuser un peu
Ou on gagne du temps et de la sécurité et on trouve (ou demande ) la fonction standard qui le fait
Quand on utilise des fonctions simples comme celles-ci, il est toujours très utile de savoir comment elle fonctionne (de connaitre l'algorithme) afin de prévoir et de comprendre certains problèmes.
Ex : char test[3] = {'a', 'r', 't'}; zut le strcmp ne marche pas.
Cela peut être aussi utile pour réécrire certaines fonctions qui ne correspondent pas tout à fait à nos besoins.
Bon, quand il s'agit de fonctions standards... on a pas trop intérêt de la réécrire, je plaisantait un peu^^
Mais ça peut toujours être assez amusant de réécrire ces fonctions
Evidemment, il ne s'agit pas d'une chaîne de caractères valide, mais d'un simple tableau contenant des entiers de caractères de type char.
strcmp(), comme son nom l'indique, est conçue pour travailler sur des chaînes de caractères. Pas besoin de remplanter toutes les fonctions déclarées dans string.h pour anticiper ce problème. Une simple lecture de la documentation suffit.
Que ce soit bien clair, réimplanter les fonctions de gestion de chaînes de caractères de la bibliothèque standard est un excellent exercice pédagogique. Toutefois, lorsque le problème qu'on essaie de résoudre n'est pas à priori centré sur l'étude de la gestion des chaînes, comme activité pédagogique, il est préférable d'orienter le PO vers la fonction de la bibliothèque standard qui convient (si elle existe, naturellement).
Avec mes meilleures salutations
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
D'ailleurs, puisque ta "chaîne" est de 3, on pourra utiliser à ce moment-là strncmp(char*, char*, int len)
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager