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