Strcpy ()
Da Gambas-it.org - Wikipedia.
Versione del 9 feb 2017 alle 08:54 di Vuott (Discussione | contributi) (Creata pagina con "La funzione '''''strncpy( )''''', dichiarata nel file header di sistema "''/usr/include/string.h''" char *strcpy (char *__restrict __dest, const char *__restrict __src) copia...")
La funzione strncpy( ), dichiarata nel file header di sistema "/usr/include/string.h"
char *strcpy (char *__restrict __dest, const char *__restrict __src)
copia nell'area di memoria puntata dal Puntatore __dest la stringa puntata dal Puntatore __src.
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 strcpy(__dest As Pointer, __src As Pointer) In "libc:6"
Mostriamo un semplice esempio:
Library "libc:6" ' char *strcpy (char *__restrict __dest, const char *__restrict __src) ' Copy SRC to DEST. Private Extern strcpy(__dest As Pointer, __src As Pointer) Public Sub Main() Dim s As String Dim p1, p2 As Pointer s = "abcde fghil" p1 = VarPtr(s) p2 = Alloc(Len(s) + 1) ' Copia nell'area di memoria, puntata dal Puntatore del 1° argomento, la stringa contenuta nell'area di memoria puntata dal Puntatore del 2° argomento: strcpy(p2, p1) ' Per leggere la stringa, presente nell'area di memoria puntata dal Puntatore del 1° parametro, dereferenziamo tale Puntatore: Print String@(p2) ' Liberiamo la porzione di memoria precedentemente allocata, e ci assicuriamo anche che il Puntatore non punti ad alcuna cella di memoria: Free(p2) p2 = 0 End