Trouver le commencement d'une chaine dans une autre avec strstr
Bonjour,
Je rencontre un problème avec strstr que je sais pas résoudre. :roll:
Mon but est d'identifier dans une chaine appelée buffer l'emplacement ou se trouve une autre chaine appelée RX_PWR
Comme l'emplacement de RX_PWR peut varier à l'interrieur de buffer, je cherche mettre dans une variable int le début de la position de RX_PWD
Mon code compile bien, mais lorsque je debug ma console m'indique que int pos_pwr est ' out of scope '
Ainsi la valeur du pointeur ou débute RX_PWD ne se remplie pas dans le int.
Pouvez vous m'aider svp ? :lol:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| unsigned char RX_PWR[]="PWR:";
unsigned char buffer[80];
unsigned char puissance[9];
int pos_pwr, i;
...
char* str = buffer;
char* str2 = strstr(str, RX_PWR);
pos_pwr = str2 - str;
// On copie dans la chaine puissance le contenu de PWR + les 5 caractères suivants :
for (i=pos_pwr;i<8;i++)
puissance[i-pos_pwr] = buffer[i];
puissance[pos_pwr]='\0'; |