Link(): differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
La funzione della libreria di C
La funzione '''link()''', dichiarata nel file header "''/usr/include/unistd.h''":
  ''int link(const char *oldpath, const char *newpath)''
  int link (const char *__from, const char *__to)
crea un nuovo collegamento ad un file conservando anche quello iniziale. Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.
crea un nuovo collegamento ad un file conservando anche quello iniziale. Quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
<BR>Questa funzione quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
<BR>Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.




Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché 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 link</font>(oldpath As String, newpath As String) As Integer In "<FONT color=#B22222>libc:6</font>"
  Private Extern <FONT color=#B22222>link</font>(''int link (__form As String, __to 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 link(const char *oldpath, const char *newpath)''</font>
Library "libc:6"
  '''Private''' <FONT color=#B22222>Extern link</font>(vecchiopercorso As String, nuovopercorso As String) As Integer In "<FONT color=#B22222>libc:6</font>"
  <FONT Color=gray>' ''int link (const char *__from, const char *__to)''
' ''Make a link to FROM named TO.''</font>
  Private <FONT color=#B22222>Extern link</font>(vecchiopercorso As String, nuovopercorso As String) As Integer
   
   
  '''Public''' Sub Main()
  '''Public''' Sub Main()
Riga 18: Riga 21:
   Dim i As Integer
   Dim i As Integer
    
    
   i = link("''/percorso/del/vecchio/collegamento/al/file''", "''/percorso/del/nuovo/collegamento/al/file''")
   i = link("<FONT Color=gray>''/percorso/del/vecchio/nome/del/file''</font>", "<FONT Color=gray>''/percorso/del/nuovo/nome/del/file''</font>")
   If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")
   If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")
   
   

Versione delle 17:31, 22 giu 2017

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

int link (const char *__from, const char *__to)

crea un nuovo collegamento ad un file conservando anche quello iniziale. Quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.


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

Private Extern link(int link (__form As String, __to As String) As Integer In "libc:6"

Semplice esempio di uso in Gambas:

Library "libc:6"


' int link (const char *__from, const char *__to)
' Make a link to FROM named TO.
Private Extern link(vecchiopercorso As String, nuovopercorso As String) As Integer


Public Sub Main()

 Dim i As Integer
 
  i = link("/percorso/del/vecchio/nome/del/file", "/percorso/del/nuovo/nome/del/file")
  If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")

End


Vedi anche la funzione esterna unlink() .