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() | |
Dim s As String | Dim s As String | ||
Riga 22: | Riga 21: | ||
s = "abcde fghil" | s = "abcde fghil" | ||
− | p = | + | 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, | + | <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) | ||
− | + | ||
− | + | Free(p) | |
− | + | ||
+ | End | ||
Versione attuale delle 14: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