Strpbrk ()

Da Gambas-it.org - Wikipedia.

La funzione strpbrk(), dichiarata nel file header di sistema "/usr/include/string.h"

char *strpbrk (char *__s, const char *__accept)

restituisce un puntatore al carattere corrispondente più a sinistra nella stringa puntata da __s che corrisponde a qualsiasi carattere della stringa puntata da __accept . Se i caratteri presenti nella stringa, puntata dal 2° parametro __accept, sono presenti anche nella stringa, puntata dal 1° parametro __s, allora il carattere, di cui la funzione cercherà la prima occorrenza, sarà il primo carattere a sinistra nella stringa, puntata dal 2° parametro __accept .


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 strpbrk(__s As Pointer, __accept As String) As Pointer In "libc:6"

Mostriamo un semplice esempio:

Library "libc:6"

' char *strpbrk (char *__s, const char *__accept)
' Find the first occurrence in S of any character in ACCEPT.
Private Extern strpbrk(__s As Pointer, __accept As String) As Pointer


Public Sub Main()
 
  Dim p1, p2 As Pointer
  Dim s As String
 
  p1 = Alloc("abcdefghil")
  s = "dh"
 
' Individua nell'area di memoria puntata dal Puntatore "p1" la prima occorrenza del primo carattere presente nella variabile Stringa "s", restituendo - compreso il carattere  di quella prima occorrenza - tutti i restanti caratteri della stringa contenuta in "s".
  p2 = strpbrk(p1, s)
  
  Print String@(p2)

  Free(p1)

End


Riferimenti