Ciao ragazzi,
ho un problema con il c++, in particolar modo con l'invio di una struct tramite socket.
Premesso che mi è vietatissssssssssimo usare le winsock causa esame (e sto anche programmando su Ubuntu), ho incapsulato le chiamate di sistema in un classe chiamata Socket, per cui il codice con cui invio qualcosa sulla socket è questo:
client->Send((void*)&msg, sizeof(msg));
soltanto che quando questo msg è uno struct così composta:
enum CodiciRete
{
NEW_GAME = 1,
NUM_DOMANDE=2,
INVIO_DOMANDA=3,
INVIO_RISPOSTA=4,
INVIO_ESATTA=5,
INVIO_OK=100
};
struct MessaggioRete
{
enum CodiciRete cod;
string domanda;
unsigned short num;
};
mi crasha tutto con un fantastico SEGMENTATION FAULT.
invece nel caso in cui allo struct tolgo la stringa funziona tutto.
Utilizzando invece un array di caratteri (char domanda[20] non posso fare quello che voglio, cioè scrivere una stringa di caratteri dopo l'istanziazione dell'array.
grazie a chi mi aiuta