Strchr (): differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
(Creata pagina con "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 nell...")
 
Nessun oggetto della modifica
 
(Una versione intermedia di uno stesso utente non è mostrata)
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 " ''Memory Stream'' " per scrivere nell'area di memoria puntata dal ''Puntatore'' restituito dalla funzione esterna ''strchr( )'':
  Library "libc:6"
  Library "libc:6"
   
   
Riga 15: Riga 14:
   
   
   
   
  '''Public''' Sub Main()
  Public Sub Main()
    
    
  Dim s As String = "abcdefg"
  Dim s As String = "abcdefg"
  Dim st As Stream
  Dim st As Stream
    
    
   st = Memory strchr(s, Asc("d")) For Write
   st = Memory <FONT color=#B22222>strchr</font>(s, Asc("d")) For Write
   Write #st, CByte(Asc("X")) As Byte
   Write #st, CByte(Asc("X")) As Byte
   st.Close
   st.Close
Riga 26: Riga 25:
   Print s
   Print s
    
    
  '''End'''
  End
 





Versione attuale delle 15: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


Riferimenti