Differenze tra le versioni di "Atoi()"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
La funzione della libreria di C
 
La funzione della libreria di C
  ''int atoi(const char * str)''
+
  ''int atoi (const char *__nptr)''
 
converte una stringa in un numero intero.
 
converte una stringa in un numero intero.
 +
<BR>Più precisamente converte una stringa di soli caratteri ASCII numerici in un valore di tipo numerico.
  
  
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché e 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 atoi</font>(num As String) As Integer In "<FONT color=#B22222>libc:6</font>"
+
  Private <FONT color=#B22222>Extern atoi</font>(__nptr As String) As Integer In "<FONT color=#B22222>libc:6</font>"
 
 
  
  
 
Semplice esempio di uso in Gambas:
 
Semplice esempio di uso in Gambas:
  <FONT color=Gray>' ''int atoi(const char * str)''</font>
+
  <FONT color=Gray>' ''int atoi(const char * str)''
  '''Private''' <FONT color=#B22222>Extern atoi</font>(num As String) As Integer In "<FONT color=#B22222>libc:6</font>"
+
' ''Convert a string to an integer.''</font>
 +
  Private <FONT color=#B22222>Extern atoi</font>(num As String) As Integer In "<FONT color=#B22222>libc:6</font>"
 
   
 
   
  '''Public''' Sub Main()
+
   
 +
Public Sub Main()
 
   
 
   
 
   Dim s As String
 
   Dim s As String
 
   Dim i As Integer
 
   Dim i As Integer
 
    
 
    
    s = "2222"
+
  s = "2222"
 
      
 
      
    i = atoi(s)
+
  i = atoi(s)
 
      
 
      
    Print i
+
  Print i
 
    
 
    
  '''End'''
+
  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'''
 

Versione attuale delle 18:53, 12 giu 2024

La funzione della libreria di C

int atoi (const char *__nptr)

converte una stringa in un numero intero.
Più precisamente converte una stringa di soli caratteri ASCII numerici in un valore di tipo numerico.


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(__nptr As String) As Integer In "libc:6"


Semplice esempio di uso in Gambas:

' int atoi(const char * str)
' Convert a string to an integer.
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