Recuperer une chaine entre 2 autres chaines
Résolu/Fermé
A voir également:
- Recuperer une chaine entre 2 autres chaines
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Chaine tnt gratuite sur mobile - Guide
- Recuperer video youtube - Guide
- Recuperer message whatsapp supprimé - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
2 réponses
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
30 janv. 2010 à 14:06
30 janv. 2010 à 14:06
Salut,
tu peux essayer un truc comme cela:
si tu veux une fonction:
Il n'y a pas de gestion de débordement donc c'est à toi de modifier le code pour cela!!;)
@+
tu peux essayer un truc comme cela:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char** argv) { char* chaine = "<strong>Henry pool is heaer </strong>"; char* debut = "<strong>"; char* fin = "</strong>"; char*res; unsigned char cpt; while (strncmp(chaine++,debut,strlen(debut))); chaine+=strlen(debut)-1; res=chaine; while (strncmp(chaine++,fin,strlen(fin))); cpt=chaine-res-1; printf("%.*s\n",cpt,res); return (EXIT_SUCCESS); }
si tu veux une fonction:
#include <stdio.h> #include <stdlib.h> #include <string.h> char* extract(char*data,char* deb,char* end,unsigned char* cmpt); int main(int argc, char** argv) { char* chaine = "<strong>Henry pool is heaer </strong>"; char* debut = "<strong>"; char* fin = "</strong>"; unsigned char cpt; chaine=extract(chaine,debut,fin,&cpt); printf("%.*s\n",cpt,chaine); return (EXIT_SUCCESS); } char* extract(char*data,char* deb,char* end,unsigned char* cmpt) { char*res; while (strncmp(data++,deb,strlen(deb))); data+=strlen(deb)-1; res=data; while (strncmp(data++,end,strlen(end))); *cmpt=data-res-1; return res; }
Il n'y a pas de gestion de débordement donc c'est à toi de modifier le code pour cela!!;)
@+
Utilisateur anonyme
30 janv. 2010 à 23:48
30 janv. 2010 à 23:48
Trop sympa x) mille MERCI ;) et je vais voir quoi faire pour les "buffer overflow" . Encore merci :)