Cambiare in esecuzione la directory di lavoro di un processo Gambas con la funzione esterna chdir()

Da Gambas-it.org - Wikipedia.

Per cambiare in esecuzione la corrente directory di lavoro del processo di un'applicazione Gambas, è possibile utilizzare la funzione esterna "chdir()", dichiarata nel file header: /usr/include/unistd.h .

Questa funzione esterna produce effetti solo sulla directory di lavoro del processo corrente.

E' necessario richiamare in Gambas la libreria condivisa: "libc.so.6 ".

Mostriamo un semplice esempio:

Library "libc:6"

' int chdir (const char *__path)
' Change the process's working directory to PATH.
Private Extern chdir(__path As String) As Integer

' char *get_current_dir_name (void)
' Return a malloc'd string containing the current directory name.
Private Extern get_current_dir_name() As String


Public Sub Main()
 
 Dim i As Integer
 Dim s As String
 
' Imposta la nuova directory di lavoro corrente:
 i = chdir("/tmp")
 If i < 0 Then Error.Raise("Impossibile cambiare la directory di lavoro !")
  
' Effettua la verifica:
 s = get_current_dir_name()
 Print "Nuova corrente directory di lavoro:  "; s
  
End


Riferimenti