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 ?
Je vous remercie de votre aide,
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]; }
Partager