Differenze tra le versioni di "Strchr ()"
Da Gambas-it.org - Wikipedia.
Riga 2: | Riga 2: | ||
char *strchr (char *__s, int __c) | char *strchr (char *__s, int __c) | ||
cerca la prima occorrenza del valore __c nella stringa __s. | cerca la prima occorrenza del valore __c nella stringa __s. | ||
+ | |||
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta: | Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta: | ||
Private <FONT color=#B22222>Extern strchr</font>(__s As String, __c As Integer) As Pointer In "<FONT color=#B22222>libc:6</font>" | Private <FONT color=#B22222>Extern strchr</font>(__s As String, __c As Integer) As Pointer In "<FONT color=#B22222>libc:6</font>" | ||
− | + | Mostriamo un esempio, nel quale si sostituirà un carattere all'interno di una stringa. Bisognerà utilizzare i [[Definizione ed uso dei Memory Stream|Memory Stream]] per scrivere nell'area di memoria puntata dal ''Puntatore'' restituito dalla funzione esterna "strchr()": | |
− | |||
− | Mostriamo un esempio, nel quale si sostituirà un carattere all'interno di una stringa. Bisognerà utilizzare i | ||
Library "libc:6" | Library "libc:6" | ||
Riga 15: | Riga 14: | ||
− | + | Public Sub Main() | |
− | + | Dim s As String = "abcdefg" | |
− | + | Dim st As Stream | |
st = Memory <FONT color=#B22222>strchr</font>(s, Asc("d")) For Write | st = Memory <FONT color=#B22222>strchr</font>(s, Asc("d")) For Write | ||
Riga 26: | Riga 25: | ||
Print s | Print s | ||
− | + | End | |
− | |||
Versione attuale delle 14:52, 16 giu 2024
La funzione strchr(), dichiarata nel file header "/usr/include/string.h" come segue:
char *strchr (char *__s, int __c)
cerca la prima occorrenza del valore __c nella stringa __s.
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
Private Extern strchr(__s As String, __c As Integer) As Pointer In "libc:6"
Mostriamo un esempio, nel quale si sostituirà un carattere all'interno di una stringa. Bisognerà utilizzare i Memory Stream per scrivere nell'area di memoria puntata dal Puntatore restituito dalla funzione esterna "strchr()":
Library "libc:6" ' char *strchr (char *__s, int __c) ' Find the first occurrence of C in S. Private Extern strchr(__s As String, __c As Integer) As Pointer Public Sub Main() Dim s As String = "abcdefg" Dim st As Stream st = Memory strchr(s, Asc("d")) For Write Write #st, CByte(Asc("X")) As Byte st.Close Print s End