Differenze tra le versioni di "Strtok ()"

Da Gambas-it.org - Wikipedia.
 
Riga 2: Riga 2:
 
  char *strtok (char *__restrict __s, const char *__restrict __delim)
 
  char *strtok (char *__restrict __s, const char *__restrict __delim)
 
spezza la stringa in varie parti utilizzando uno o più caratteri di separazione specificati nel secondo argomento.
 
spezza la stringa in varie parti utilizzando uno o più caratteri di separazione specificati nel secondo argomento.
 +
  
 
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 strtok</font>(__s As Pointer, __delim As String) As String In "<FONT color=#B22222>libc:6</font>"
 
  Private <FONT color=#B22222>Extern strtok</font>(__s As Pointer, __delim As String) As String In "<FONT color=#B22222>libc:6</font>"
 
 
 
Semplice esempio di uso in Gambas:
 
Semplice esempio di uso in Gambas:
 
  Library "libc:6"
 
  Library "libc:6"
Riga 15: Riga 14:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
  Dim p As Pointer
+
  Dim p As Pointer
  Dim t, del, tok As String
+
  Dim t, del, tok As String
 
    
 
    
    t = "Questo è un testo qualsiasi."
+
  t = "Questo è un testo qualsiasi."
 
      
 
      
    p = VarPtr(t)
+
  p = VarPtr(t)
 
      
 
      
 
  <FONT color=Gray>' ''Il carattere di separazione è in questo esempio il carattere dello "spazio":''</font>
 
  <FONT color=Gray>' ''Il carattere di separazione è in questo esempio il carattere dello "spazio":''</font>
    del = Chr(32)
+
  del = Chr(32)
 
      
 
      
    tok = strtok(p, del)
+
  tok = strtok(p, del)
 
      
 
      
    While Not IsNull(tok)
+
  While Not IsNull(tok)
      Print tok
+
    Print tok
      tok = strtok(0, del)
+
    tok = strtok(0, del)
    Wend
+
  Wend
 
        
 
        
  '''End'''
+
  End

Versione attuale delle 16:11, 16 giu 2024

La funzione della libreria di C

char *strtok (char *__restrict __s, const char *__restrict __delim)

spezza la stringa in varie parti utilizzando uno o più caratteri di separazione specificati nel secondo argomento.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern strtok(__s As Pointer, __delim As String) As String In "libc:6"

Semplice esempio di uso in Gambas:

Library "libc:6"

' char *strtok (char *__restrict __s, const char *__restrict __delim)
' Divide S into tokens separated by characters in DELIM.
Private Extern strtok(__s As Pointer, __delim As String) As String


Public Sub Main()
 
  Dim p As Pointer
  Dim t, del, tok As String
 
  t = "Questo è un testo qualsiasi."
   
  p = VarPtr(t)
   
' Il carattere di separazione è in questo esempio il carattere dello "spazio":
  del = Chr(32)
   
  tok = strtok(p, del)
   
  While Not IsNull(tok)
    Print tok
    tok = strtok(0, del)
  Wend
     
End