Differenze tra le versioni di "Strcpy ()"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 2: Riga 2:
 
  char *strcpy (char *__restrict __dest, const char *__restrict __src)
 
  char *strcpy (char *__restrict __dest, const char *__restrict __src)
 
copia nell'area di memoria puntata dal Puntatore ''__dest'' la stringa puntata dal Puntatore ''__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:
 
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 strcpy</font>(__dest As Pointer, __src As Pointer) In "<FONT color=#B22222>libc:6</font>"
 
  Private <FONT color=#B22222>Extern strcpy</font>(__dest As Pointer, __src As Pointer) In "<FONT color=#B22222>libc:6</font>"
 
 
 
Mostriamo un semplice esempio:
 
Mostriamo un semplice esempio:
 
  Library "libc:6"
 
  Library "libc:6"
Riga 15: Riga 14:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   Dim s As String
 
   Dim s As String
Riga 22: Riga 21:
 
   s = "abcde fghil"
 
   s = "abcde fghil"
 
    
 
    
   p = VarPtr(s)
+
   p = Alloc(SizeOf(gb.Byte), Len(s))
 
    
 
    
  <FONT Color=gray>' ''Copia nell'area di memoria, puntata dal Puntatore del 1° argomento, la stringa contenuta variabile del 2° argomento:''</font>
+
  <FONT Color=gray>' ''Copia nell'area di memoria, puntata dal Puntatore del 1° argomento, la stringa contenuta nella variabile del 2° argomento:''</font>
 
   <FONT Color=#B22222>strcpy</font>(p, s)
 
   <FONT Color=#B22222>strcpy</font>(p, s)
 
    
 
    
  <FONT Color=gray>' ''Per leggere la stringa, presente nell'area di memoria puntata dal Puntatore del 1° parametro, dereferenziamo tale Puntatore:''</font>
+
  <FONT Color=gray>' ''Per leggere la stringa, presente nell'area di memoria puntata dal Puntatore del 1° parametro, dereferenzia tale Puntatore:''</font>
 
   Print String@(p)
 
   Print String@(p)
 
+
  '''End'''
+
  Free(p)
 
+
 +
  End
  
  

Versione attuale delle 15:57, 16 giu 2024

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 String)


Public Sub Main()
 
 Dim s As String
 Dim p As Pointer
 
 s = "abcde fghil"
 
 p = Alloc(SizeOf(gb.Byte), Len(s))
 
' Copia nell'area di memoria, puntata dal Puntatore del 1° argomento, la stringa contenuta nella variabile del 2° argomento:
 strcpy(p, s)
  
' Per leggere la stringa, presente nell'area di memoria puntata dal Puntatore del 1° parametro, dereferenzia tale Puntatore:
 Print String@(p)

 Free(p)

End


Riferimenti