Salut, j'ai un petit soucis avec les chaînes de caractère en C, ça doit être tout con mais je bloque là-dessus...
En gros, j'ai ça (c'est pas mon code, juste du à peu près, juste pour montrer l'idée) :
la fonction recvfrom reçoit par socket (en udp) des messages, et le problème ce pose quand le premier message est plus grand que le second !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 char buffer[1024]; int i = 0; while(i < 2) { recvfrom(socket, buffer, sizeof(buffer), 0, (struct sockaddr *)&from, &fromlen); printf("%s\n", buffer); i++; }
Exemple :
si j'envoie
"bonjour" puis
"salut"
je recevrais "salutur", apparemment la chaine précédente n'a pas été effacée.
Est-ce qu'il y aurait un moyen de la "vider" ?
Merci d'avance !
Partager