Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2671 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  MFC : Pb de buffer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MFC : Pb de buffer

n°796054
flou1
Posté le 15-07-2004 à 09:53:58  profilanswer
 

Jai un petit probleme bizarre avec mes buffers.
C'est surement un truc tout bete mais a 1ere vue je voie pas d'ou ca peux venir.
 
Donc je suis entrain de developper un petit programme en MFC avec des CSocket.
Jai ma fonction OnReceive qui se "lance" des que qqchose est recu sur ma socket :

Citation :


void OnReceive(int nErrorCode)  
{
 int nRead = 0;
 int i;
 char buffer[4096];
 nRead = Receive(buffer, 4096);
 buffer[nRead] = 0;
 /**/
 for (i = 0; i < 4096 ;i++)
  buffer[i] = 0;
}


Et a la place des /**/ si je met ca :

Citation :


for (i = 0; i < nRead ;i++)
 TRACE("%c", buffer[i]);


Tout les caracteres saffichent nickel.
Par contre si je met :

Citation :


TRACE("%s", buffer);


De tps en tps ils naffichent pas tout. Par exemple jai mon nRead a 550 (donc je devrai avoir 550 caracteres qui saffichent) et il ny a que quelque caracteres qui s'affichent.
Je ne sais pas pourquoi il sarrete au milieu car il ny a pas de "\0" a lendroit ou laffichage sarrete.
 
Merci


Message édité par flou1 le 15-07-2004 à 09:55:34
mood
Publicité
Posté le 15-07-2004 à 09:53:58  profilanswer
 

n°796058
HelloWorld
Salut tout le monde!
Posté le 15-07-2004 à 09:59:44  profilanswer
 

Citation :

Je ne sais pas pourquoi il sarrete au milieu car il ny a pas de "\0" a lendroit ou laffichage sarrete.

En es-tu sûr ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°796066
flou1
Posté le 15-07-2004 à 10:02:32  profilanswer
 

Ben quand je passe par le for je devrais avoir un caractere bizar ki saffiche normalement a la place.
Et ca me semble bizarre que je me retrouve avec un "\0" au milieu dun mot o_O

n°796158
HelloWorld
Salut tout le monde!
Posté le 15-07-2004 à 10:58:40  profilanswer
 

Flou1 a écrit :

Ben quand je passe par le for je devrais avoir un caractere bizar ki saffiche normalement a la place.


Pas sûr. Le \0 est un peu particulier. Le mieux est de tester dans ta boucle

Citation :

Et ca me semble bizarre que je me retrouve avec un "\0" au milieu dun mot o_O


Si tu le dis. Mais mieux vaut être sûr.
 
Au passage, utiliser memset au lieu de ta boucle de mise à zéro.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°796204
flou1
Posté le 15-07-2004 à 11:22:57  profilanswer
 

Jai lancé ethereal lorsque je fesais mes tests et en effet de tps en tps le serveur menvoie des "\000" plus ou moins nimporte ou.
 
Merci pour ton aide ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  MFC : Pb de buffer

 

Sujets relatifs
Probleme affichage OpenGL avec MFC[MFC] differente s couleurs dans une CTreeView
[MFC] CDC??Bug MFC concernant l'icone?
PHP et buffer : Stdin infini ?Pseudo timer en mfc ?
Bloquer le resize MFC d'une dialogbox ?Image avec visual c++ (MFC)
[MFC] Modifier un CString[MFC] CTabCtrl et dialog
Plus de sujets relatifs à : MFC : Pb de buffer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR