Conversion d'un char* en CString
Bonjour
je suis en train de développer une com socket sous visual C++ voici le code que j'ai écrit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
void CCommDlg::OnReceive(void)
{
char *pBuf = new char[1025];
int iBufSize = 1024;
int iRcvd;
//CString stdRecvd;
// Reçoit le message
iRcvd = m_sConnectSocket.Receive(pBuf, iBufSize);
// Un message a-t-il été reçu ?
if (iRcvd == SOCKET_ERROR)
{
}
else
{
// Tronque la fin du message
pBuf[iRcvd] = 0;
// Copie le message dans une variable CString
CString stdRecvd(pBuf);
// Ajoute le message dans la liste des messages reçus
m_ctlRecvd.AddString(stdRecvd);
// Met à jour les variables avec les contrôles
UpdateData(FALSE);
}
} |
se code ne m'affiche que la première lettre du message envoyé par le client par exemple le client envoie le message Salut le serveur reçoit une chaine d'une longueur de 5 caractères mais ne m'affiche que le S dans la liste box
j'ai essayé plusieurs solutions telle que CString Recvd((LPCTSTR)pBuf); dans ce cas je n'affiche que Sal puis des carrés
merci pour votre aide
pense à mettre la balise code,Merci Farscape