J'essaye d'écrire un programme en C, ce qui me permettra d'obtenir une chaîne que je veux entre deux autres chaînes qui seront définies. Pour être plus précis, mon exemple chaîne estobtenir la sous-chaîne de la chaîne en C
"blahblah<mailto:[email protected]>blahblahblah"
et je dois être en mesure d'extraire la sous-chaîne « de agent007 » à une nouvelle variable. J'ai essayé la méthode strtok(), mais la chose est que je ne peux pas extraire les jetons vers une nouvelle variable ou un tableau. J'ai tokenized la chaîne et la déclaration qui serait bien me serait quelque chose comme "si jeton [i] ==" mailto "& & jeton [i + 2] ==" exemple "puis mailAdd = jeton [i + 1 ] " (d'une manière pseudo-code :))
mon programme jusqu'à présent
#include <stdio.h>
#include <string.h>
int main()
{
char str[] ="blahblah<mailto:[email protected]>blahblahblah";
char * tch;
tch = strtok (str,"<:@");
while (tch != NULL)
{
printf ("%s\n",tch);
tch = strtok (NULL, "<:@");
}
return 0;
}
Bien sûr, toute autre suggestion au-delà de jetons sera grandement appréciée -
Les jetons me semblent raisonnables. Je ne suis pas clair sur le problème que vous rencontrez. Pourquoi ne pouvez-vous pas extraire les jetons? –
Bonjour Jonathan. Je n'arrive pas à trouver un moyen d'exporter le jeton vers un char var et plus tard l'utiliser dans le programme pour d'autres calculs. Ai-je du sens? :) –
Si vous voulez le réutiliser, vous devez copier la chaîne 'tch' quelque part:' tch' change lui-même. Notez que 'strtok' change la chaîne d'origine. Après votre boucle, (si je n'ai pas gâché les calculs), 'str + 0' pointe vers" blahblah "; 'str + 9' pointe vers" mailto "; 'str + 16' pointe vers" agent007 "; et 'str + 25' pointe vers" exemple.org> blahblahblah ". – pmg