Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    [c] ricavare path effettivo

    Ho un problemino con i paths...
    Supponiamo che il mio filesystem contenga le directory
    /dir
    /dir/subdir1
    /dir/subdir2

    Un mio programma ha la necissita' di capire in quale directory si trova un file il cui percorso + nome e' memorizzato in una stringa...
    Praticamente deve capire in quale di quelle 3 directory si trova:
    se la stringa fosse "/dir/ugigfiunbgf" starebbe in /dir...
    Se invece fosse "/dir/subdir1/fgnfg/gihggg" starebbe in /dir/subdir1...
    Se fosse "/dfoiofh/hgghh/gg" si troverebbe in / e così via...

    Per fare cio' mi basterebbe analizzare i nomi tra una / e un'altra...

    Le cose pero' si complicano quando la stringa e' ad esempio "/dir/subdir1/../subdir2/ggg": il file richiesto sembra che si trovi in /dir/subdir1, ma invece si trova in /dir/subdir2 ...

    Esiste qualche system call unix che si occupa da sola di "pulire" un path, o devo farmi una funzione da solo?

    Io inizio a farmi la funzione, ma se esistesse una funzione gia' pronta definita dallo standard ansi o posix avvisatemi

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  2. #2
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Il path dir/subdir1/subdir2 non esiste poiche' esistono soltanto dir/subdir1, dir/subdir2 e dir/

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Intendevo che quelle directory contenevano altre sottodirectory e files... Ma mi basta sapere in quali delle tre si trova il file finale...

    Comunque il problema non e'
    /dir/subdir1/subdir2
    (che, se anche esistesse si troverebbe in /dir/subdir1)
    Ma il problema e':
    /dir/subdir1/ .. /subdir2
    che equivale a
    /dir/subdir2
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.