Printf ()

Da Gambas-it.org - Wikipedia.
Versione del 30 lug 2013 alle 16:16 di Vuott (Discussione | contributi) (Creata pagina con 'La funzione della libreria di C int printf(const char *format, ...) scrive su ''stdout'' gli argomenti stringa passati. Volendola utilizzare in Gambas, bisognerà dichiarar...')

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

La funzione della libreria di C

int printf(const char *format, ...)

scrive su stdout gli argomenti stringa passati.


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

Private Extern printf(testo As String, ....) As Pointer

Per ottenere il risultato in console, bisognerà far ritornare dalla funzione una variabile di tipo puntatore e non di tipo stringa, altrimenti sarà sollevato un errore "Segmentation fault (11)" !


Semplice esempio uso in Gambas:

Private Extern printf(testo As String) As Pointer In "libc:6"


Public Sub Button1_Click()

 Dim p As Pointer
 Dim s As String


  p = printf("Prova funzione 'printf'")

' Dereferenziamo il Puntatore per ottenere il testo:
    s = String@(p)

    Print s

End