Bonjour,

Je rencontre un problème avec strstr que je sais pas résoudre.

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 ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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';