Strncat ()
Da Gambas-it.org - Wikipedia.
La funzione strncat( ), dichiarata nel file header di sistema "/usr/include/string.h"
char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n)
aggiunge un numero __n di byte (cominciando comunque dal primo byte) dell'area di memoria puntata dal puntatore __src "dopo" i byte contenuti dall'area di memoria puntata dal Puntatore __dest. Concatena dunque due stringhe di dati.
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 strncat(__dest As Pointer, __src As Pointer, __n As Long) In "libc:6"
Mostriamo un semplice esempio:
Library "libc:6" ' char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) ' Append no more than N characters from SRC onto DEST. Private Extern strncat(__dest As Pointer, __src As Pointer, __n As Long) Public Sub Main() Dim p1, p2 As Pointer p1 = Alloc("abcd") p2 = Alloc("1234") ' Aggiunge "dopo" i dati presenti nell'area di memoria, puntata dal Puntatore del 1° argomento, i soli primi 2 byte dell'area di memoria puntata dal Puntatore del 2° argomento. strncat(p1, p2, 2) Print String@(p1) Free(p2) Free(p1) End