Differenze tra le versioni di "Atoi()"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
− | Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché | + | 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 atoi</font>(num As String) As Integer In "<FONT color=#B22222>libc:6</font>" | Private <FONT color=#B22222>Extern atoi</font>(num As String) As Integer In "<FONT color=#B22222>libc:6</font>" | ||
Versione delle 16:30, 6 set 2014
La funzione della libreria di C
int atoi(const char * str)
converte una stringa in un numero intero.
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
Private Extern atoi(num As String) As Integer In "libc:6"
Semplice esempio di uso in Gambas:
' int atoi(const char * str) Private Extern atoi(num As String) As Integer In "libc:6" Public Sub Main() Dim s As String Dim i As Integer s = "2222" i = atoi(s) Print i End
Uso della funzione atoi() all'interno di una libreria esterna creata dall'utente
Se il programmatore vuole utilizzare la funzione atoi() all'interno di una libreria esterna specifica da lui creata, allora si potrà adottare il seguente codice.
La libreria esterna specifica, il cui file di codice sarà chiamato ad esempio libconv.c, può essere:
#include <string.h> int i; int converte(char * s) { i = atoi(s); return i; }
e verrà posta ad esempio nella cartella "Dati" dell'applicativo.
Il codice Gambas potrà essere:
Private Extern converte(num As String) As Integer In "/tmp/libconv" Public Sub Main() Dim s As String Dim i As Integer Shell "gcc -o /tmp/libconv.so " & Application.Path &/ "libconv.c -shared -fPIC" Wait s = "2222" i = converte(s) Print i End