Bonjour

Je reçois dans une variable des caractères issus d'un port série, ils arrivent comme ceci :

<CR><LF>HELLO<CR><LF>

Je voudrai au final, ne récupérer que le contenu qui m'intéresse c'est à dire juste le mot "Hello" et mettre à la fin du mot reçu le caractère de fin "\0"

Mon but est de supprimer tout les caractères /r/n de début et fin de chaine.

J'ai fait ceci, mais ça ne fonctionne pas convenablement, pourriez 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
unsigned char buffer_reception[80];
 
...
 
for(i=2;i<80;i++)		// On ne regarde qu'après la 3eme position de la séquence recue.
if (buffer_reception[i]== '\n')	// Recherche du dernier caractère '\r' 
{
buffer_reception[i] = '\0';  // '/r' trouvé ? on le remplace par '\0'		
 
for (i=2; buffer_reception[i] != '\0'; ++i)  // Ré-écriture de la chaine en décalant -2 à gauche pour supprimer les premiers caractères /r/n
buffer_reception[i-2] = buffer_reception[i];
}
Je vous remercie de votre aide,