Fai un errore concettuale confondendo le C string con array di char.
La printf() stampa il contenuto di add_mess->dato fino a quando trova un terminatore NULL che può trovarsi oltre il numero di caratteri letti.
In teoria puoi risolvere ponendo dopo il ciclo for
ma se devi trasferire in binario ti crea dei problemi.codice:add_mess->dato[k]=0;
Inoltre il ciclo for è sbagliato.
Non dev'essere:
macodice:for (k=0;k<=add_mess->data_length; k=k+n)
In più mischiare C e C++ è sbagliato.codice:for (k=0;k<add_mess->data_length; k=k+n)

Rispondi quotando