2012-10-18 5 views

Répondre

3

Utilisez ce constructeur de std::string:

string (const char * s, size_t n); 

En fait, si RecvBuf est une norme (texte) "string", il est OK juste pour faire

std::string str(RecvBuf); 

mais cela copiera tous les char s , jusqu'à ce que \0 soit atteint.


Et comme ce tampon stocke octets bruts, reçus à partir d'une prise, vous devez vous attendre \0 octets.

Lorsque vous recevez les données, vous saurez sa taille. Donc, il suffit d'utiliser

std::string str(RecvBuff, buff_len); 
Questions connexes