Bonjour à tous.
Je suis devant un problème depuis quelques jours et je n'arrive pas à trouver de solution(mon erreur).
J'ai créé une fonction qui traite une chaine de caractère du type :
"$125$2sdf$3sdf$4sefd" .
Le but et de récupérer les chaine situé après $*. Par exemple $1->"25".
Pour cela j'utilise la fonction strtok du compilateur PICC.
Voila mon code :
Lorsque je suis l'évolution des variable avec MPLAB, je me rend compte que la variable tmp prend la valeur 0x52 donc 'R'. J'ai essayé de remplacer tmp=*token par tmp=token[0] mais cela ne change rien.Code:StrutProcess * TmpProcess; char tmp=0; char *token; char *seps = "$"; char *PtrTemp="$125$2sdf$3sdf$4sefd"; token = strtok( PtrTemp, seps ); while( token != NULL ) { tmp=*token; switch (tmp) { case '1' : TmpProcess->NumProcess = token[1]; break; case '5' : TmpProcess->time = xtoi(token[1]); break; default : break; } token = strtok( NULL, seps ); }
Merci de votre aide.
-----