Comment placer des bytes null dans un tableau de byte
Bonjour a tous,
Je ne suis pas expert C++ et je suis un peu bloqué sur un ptit probleme. Je developpe actuellement la partie client d'une comm. Client/Serveur en C++/QT. Le serveur est est en Java et on s'envoie des integers (entre autres...). Je decompose chacun des mes integers en 4 bytes de cette facon la (je suis pas sur que ce soit deja lla bonne m'enfin ... :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
for (int i=0 ; i<4 ; i++)
{
puissance = pow((float)2, 8*(3-i));
int temp = IntToSend / (puissance);
byte[i] = temp;
byte[i] = byte[i] & 0xff;
IntToSend -= temp * puissance;
} |
OK, bon cest ptet pas tres propre mais ca fonctionne plutot bien sauf que : quand je veux envoyer 0 (ou 128, ou 256, ou 1024, etc..) jai un byte null (en fait les 4 sont null). Et du coup a larrivée, mon tableau de byte est vide (il me donne une size = 4 mais la valeur est ""). Question : connaissez vous lastuce pour eviter ca ? Jai bien essaye de rajouter 1 a chaque octet et de les soustraire a la reception mais le probleme se pose a lors pour les valeurs comme -1, 127, 255, etc.. Bref, cest pas bon ! Une ptit idée serait la bienvenue...
Merci
Stephane