Envoyer un wchar_t en tcp
Bonjour,
Je recherche actuellement comment envoyer un wchar_t* avec la fonction send en TCP/IP pour envoye des accents au client.
Voici le code qui permet de mettre mes wchar_t* dans le mon buffer.
m_byte etant une string.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| void CByte::addChar(char* B, size_t t)
{
for(unsigned int i=0;i<=t;i++)
m_byte.push_back(B[i]);
}
char* CByte::GetByte()
{
char* buffer = new char[m_byte.size()+1];
for(unsigned int i=0;i<= m_byte.size();i++)
buffer[i] = m_byte[i];
return buffer;
}
template <class T> CByte& operator<<(const T& add)
{
std::ostringstream Stream;
Stream << add;
addChar((char*)Stream.str().c_str(), Stream.str().size());
return *this;
} |
J'utilise le code suivant :
Code:
1 2 3 4
|
CByte buffer;
wchar_t wstr[] = L"arb==";
buffer << wstr; |
Quand je regarde le contenu du buffer en hexa j'obtiens ceci :
0x30 0x78 0x63 0x61 0x63 0x66 0x65 0x35 0x38 0x0
Mais comment puis-je obtenir ma chaine wchar_t a partir de la chaine de char retourne par la fonction GetByte() ?
PS : Je ne veux pas convertir mais transformer ma chaine wchar_t en groupe de byte pour l'envoyer sur reseau puis retourner sur 2 byte une fois le groupe de byte recu.
Merci.