movida ha scritto:
Risolto con memset(buffer, 0, sizeof(buffer));
In questo modo tu riempi semplicemente di valori 0 (zero) il blocco di memoria precedentemente allocato. Quall'area di memoria - credo - resti comunque allocata, indisponibile ad essere sovrascritta da altri programmi.
Lo zero però non può essere inteso, suppongo, come
nulla-assoluto, bensì come mero contrario dell'unità: un
non-unità.
Da ciò io mi domando semplicemente:
1) per "
svuotare il buffer" non dovrebbe, invece, intendersi "
rilasciare, deallocare il blocco di memoria" puntato dalla variabile buffer ?
2) ed in tal caso, non avresti dovuto, forse, utilizzare la funzione
free( ) ?