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