Differenze tra le versioni di "Memset ()"
Da Gambas-it.org - Wikipedia.
(Creata pagina con '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 i...') |
|||
Riga 19: | Riga 19: | ||
− | <FONT color=gray>' ''Se il vettore è di tipo "Integer", allora il | + | <FONT color=gray>' ''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:''</font> | ' ''va moltiplicato per 4, poiché il valore di tipo "Intero" occupa nella memoria 4 byte:''</font> | ||
<FONT color=#B22222>memset</font>(cc, 0, cc.Count * SizeOf(gb.Integer)) | <FONT color=#B22222>memset</font>(cc, 0, cc.Count * SizeOf(gb.Integer)) |
Versione delle 04:11, 30 set 2013
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