Differenze tra le versioni di "Strncat ()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "La funzione '''''strncat( )''''', dichiarata nel file header di sistema "''/usr/include/string.h''" char *strncat (char *__restrict __dest, const char *__restrict __src, size...")
 
 
Riga 6: Riga 6:
 
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché bisognerà dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
 
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché bisognerà dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
 
  Private <FONT color=#B22222>Extern strncat</font>(__dest As Pointer, __src As Pointer, __n As Long) In "<FONT color=#B22222>libc:6</font>"
 
  Private <FONT color=#B22222>Extern strncat</font>(__dest As Pointer, __src As Pointer, __n As Long) In "<FONT color=#B22222>libc:6</font>"
 
 
 
Mostriamo un semplice esempio:
 
Mostriamo un semplice esempio:
 
  Library "libc:6"
 
  Library "libc:6"
Riga 16: Riga 14:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
  Dim p1, p2 As Pointer
+
  Dim p1, p2 As Pointer
 
    
 
    
 
   p1 = Alloc("abcd")
 
   p1 = Alloc("abcd")
 
   p2 = Alloc("1234")
 
   p2 = Alloc("1234")
 
    
 
    
  <FONT Color=gray>' ''Aggiunge "dopo" i dati presenti nell'area di memoria, puntata dal Puntatore del 1° argomento,''
+
  <FONT Color=gray>' ''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.''</font>
' ''i soli primi 2 byte dell'area di memoria puntata dal Puntatore del 2° argomento.''</font>
 
 
   <FONT Color=#B22222>strncat</font>(p1, p2, 2)
 
   <FONT Color=#B22222>strncat</font>(p1, p2, 2)
 
    
 
    
Riga 32: Riga 29:
 
   Free(p1)
 
   Free(p1)
 
    
 
    
  '''End'''
+
  End
 
 
  
  

Versione attuale delle 15:59, 16 giu 2024

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


Riferimenti