Bonjour à tous, je cherche à récupérer le contenu d'un QDataStream dans un char*.
J'utilise une socket entre deux programmes, qui s'envoient des tableaux de char. Je ne peux pas utiliser de QString (même si j'aimerais) et je dois avouer que les tableaux de char me posent beaucoup de problèmes.
D'un côté, j'ai plusieurs tableau dont :
char trame_pret[2] = { 'R', '\0' };
Et je pensais le recevoir de cette façon de l'autre coté :
1 2 3 4 5 6 7 8 9 10 11 12 13
| QDataStream in(socket);
// ensuite je récupère le paquet en entier dans in, ça ça passe
if (tailleMessage == 0) // Si on ne connaît pas encore la taille du message, on essaie de la recuperer
{
if (socket->bytesAvailable() < (int)sizeof(quint16)) // On n'a pas reçu la taille du message en entier
return;
in >> tailleMessage; // Si on a reçu la taille du message en entier, on la recupère
}
// Si on connaît la taille du message, on verifie si on a reçu le message en entier
if (socket->bytesAvailable() < tailleMessage) // Si on n'a pas encore tout reçu, on arrête la methode
return; |
et ensuite j'essaie ce genre de trucs :
1 2 3
| char* test[20];
in >> test; |
Mais ça ne marche pas du tout, pourtant dans la doc de Qt il y a ça : http://qt.developpez.com/doc/3.3/qda...erator-gt-gt-d, donc ça doit forcément être faisable...
Avez-vous une astuce ?
Merci d'avance
Partager