Memset ()
Vai alla navigazione
Vai alla ricerca
La funzione della libreria di C
void * memset( void *buffer, int c, size_t count )
imposta tutti i valori di un vettore (array) a zero.
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
Private Extern memset(dest As integer[], c As Integer, count As Integer) In "libc:6"
Semplice esempio uso in Gambas:
' void * memset( void *buffer, int c, size_t count )
Private Extern memset(dest As integer[], c As Integer, count As Integer) In "libc:6"
Public Sub Form_Open()
Dim cc As Integer[] = [1, 2, 3, 4, 5]
Dim j As Byte
' Se il vettore è di tipo "Integer", allora il valore del 3° parametro della funzione
' va moltiplicato per 4, poiché il valore di tipo "Intero" occupa nella memoria 4 byte:
memset(cc, 0, cc.Count * SizeOf(gb.Integer))
For j = 0 To cc.Max
Print cc[j]
Next
End