Differenze tra le versioni di "Ttyname ()"

Da Gambas-it.org - Wikipedia.
Riga 24: Riga 24:
 
   percorso = <FONT Color=#B22222>ttyname</font>(STDOUT)
 
   percorso = <FONT Color=#B22222>ttyname</font>(STDOUT)
 
    
 
    
  <FONT Color=gray>' ''Mostra il percorso dello pseudo terminale 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>
 
   fl = Open percorso For Write
 
   fl = Open percorso For Write
 
    
 
    

Versione delle 16:15, 22 giu 2017

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 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