Differenze tra le versioni di "Ttyname ()"

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
La funzione '''ttyname()''', dichiarata nel file header "''/usr/include/unistd.h''":
+
La funzione '''ttyname()''', dichiarata nel file header "''/usr/include/unistd.h'' ":
 
  char *ttyname (int __fd)
 
  char *ttyname (int __fd)
 
restituisce il percorso del file-device pseudoterminale (''pts'') associato al ''file descriptor'' indicato nel suo unico parametro.
 
restituisce il percorso del file-device pseudoterminale (''pts'') associato al ''file descriptor'' indicato nel suo unico parametro.
 
  
 
Volendola utilizzare direttamente in Gambas, bisognerà dichiararla con ''Extern'', nonché dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
 
Volendola utilizzare direttamente in Gambas, bisognerà dichiararla con ''Extern'', nonché dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
Riga 17: Riga 16:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   Dim percorso As String
 
   Dim percorso As String
 
   Dim fl As File
 
   Dim fl As File
 
    
 
    
  percorso = <FONT Color=#B22222>ttyname</font>(STDOUT)
+
  percorso = <FONT Color=#B22222>ttyname</font>(STDOUT)
 
    
 
    
 
  <FONT Color=gray>' ''Mostra il percorso dello pseudoterminale associato al file-descriptor passato:''</font>
 
  <FONT Color=gray>' ''Mostra il percorso dello pseudoterminale associato al file-descriptor passato:''</font>
  Print percorso
+
  Print percorso
 
      
 
      
 
  <FONT Color=gray>' ''Usa il percorso dello pseudoterminale per scrivervi una stringa:''</font>
 
  <FONT Color=gray>' ''Usa il percorso dello pseudoterminale per scrivervi una stringa:''</font>
  fl = Open percorso For Write
+
  fl = Open percorso For Write
 
    
 
    
  Write #fl, "\nTesto qualsiasi"
+
  Write #fl, "\nTesto qualsiasi"
  fl.Close
+
  fl.Close
 
    
 
    
  '''End'''
+
  End
 
 
  
  

Versione attuale delle 12:01, 13 giu 2024

La funzione ttyname(), dichiarata nel file header "/usr/include/unistd.h ":

char *ttyname (int __fd)

restituisce il percorso del file-device pseudoterminale (pts) associato al file descriptor indicato nel suo unico parametro.

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

Private Extern ttyname(__fd As Integer) As String In "libc:6"

Mostriamo un esempio di uso in Gambas:

 Library "libc:6"
 
 Private Enum STDIN = 0, STDOUT, STDERR

' char *ttyname (int __fd)
' Return the pathname of the terminal FD is open on, or NULL on errors.
Private Extern ttyname(id As Integer) As String In "libc:6"


Public Sub Main()
 
 Dim percorso As String
 Dim fl As File
 
 percorso = ttyname(STDOUT)
  
' Mostra il percorso dello pseudoterminale associato al file-descriptor passato:
 Print percorso
   
' Usa il percorso dello pseudoterminale per scrivervi una stringa:
 fl = Open percorso For Write
  
 Write #fl, "\nTesto qualsiasi"
 fl.Close
  
End


Riferimenti