Posez votre question Signaler

[C] Vider buffer [Résolu]

kij_82 4070Messages postés 7 avril 2005Date d'inscription 24 septembre 2010Dernière intervention - Dernière réponse le 6 juin 2005 à 20:05
Bonjours,

J'ai un pb avec mon cliet serveur à la C!@# !!
Aléatoirement, le client ne recoit pas les bonnes données au bon moment... je pense que c'est du au fait que la transmission soit mal passée, et vu que je ne retente pas une transmission lorsque celle-ci n'a pas aboutie... ca fait tous foirer...
Mais pour en être sur, je voudrais vider mon tampon mémoire, ainsi que ma variable tampon qui sert à recevoir ou emmetre des données. Elle se présente de la facon suivante :
char tmp[256] = "";

Puis elle est remplie lors des transmissions client / serveur

Comment faire pour la vider ?

Merci beaucoup

++
Lire la suite 

[C] Vider buffer »

6 réponses
Réponse
+0
moins plus
salut,
essaye la fonction bzero()
(assure toi de son fonctionnement dans l'aide chui plus trés sur)

++
Ajouter un commentaire
Réponse
+0
moins plus
tu peux aussi essayer tmp=""; ou for i=1 à 256 tmp[i-1]='\0';
voila
Ajouter un commentaire
Réponse
+0
moins plus
salut à tous,

je crois qu'il y a une fonction C toute faites pour ça:
fflush(stdin);

Mais je ne suis pas sur...
Ajouter un commentaire
Réponse
+0
moins plus
'lut greg,

bien vu le fflush, cela dit fflush(stdin) c'est pour vider le buffer
d'entrée (clavier), mais ça peut peut étre marcher avec un buffer lambda. à tester...

kij_82 - 6 juin 2005 à 16:46
Merci pour les infos,

pour ce qui est du fflush, c'est bien mais ca demanderai une redirection des entrées avant de flusher, puis rétablir ensuite, à moins qu'il y ai une autre solutions,
J'ai donc opté pour
buffer = "";

Puis
int l = strlen(buffer);
for(i=0;i<l;i++)
{
   buffer[i] = '\0';
}


Et cela ne change rien à mon problème (perte de données en cours de transmittion)
Donc cela ne vient pas de la, c'est ce que je voulais vérifier,

lerci beacoup

++
Ajouter un commentaire
Réponse
+0
moins plus
salut kij_82,
si ton client/serveur utilise TCP/IP il n'y a pas de perte de données (c'est géré par les drivers les erreurs de transmission)
donc ça doit etre la vitesse de traitement ou une autre erreur quelque part!
@+
Ajouter un commentaire
Ce document intitulé « [C] Vider buffer » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook