Differenze tra le versioni di "Memcpy ()"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
 
La funzione della libreria di C
 
La funzione della libreria di C
  ''void *memcpy(void *str1, const void *str2, size_t n)''
+
  ''void *'''memcpy'''(void *str1, const void *str2, size_t n)''
 
copia ''n'' caratteri da un'area di memoria ''str2'' ad un'altra area di memoria ''str1''.
 
copia ''n'' caratteri da un'area di memoria ''str2'' ad un'altra area di memoria ''str1''.
  

Versione delle 14:47, 20 lug 2013

La funzione della libreria di C

void *memcpy(void *str1, const void *str2, size_t n)

copia n caratteri da un'area di memoria str2 ad un'altra area di memoria str1.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern memcpy(dest As Pointer, src As Pointer, count As Integer) As Pointer In "libc:6"


Semplice esempio di uso in Gambas:

' wchar_t * memcpy(wchar_t * dest, Const wchar_t * src, size_t count)
Private Extern memcpy(dest As Pointer, src As Pointer, count As Integer) As Pointer In "libc:6"

Public Sub Form_Open()

 Dim a, b As Pointer
 Dim num As Integer
 
   a = Alloc(SizeOf(gb.Integer))
   b = Alloc(SizeOf(gb.Integer))
 
   num = 999
 
   a = VarPtr(num)
 
     memcpy(b, a, SizeOf(gb.Integer))
  
  Print Int@(b)

End