Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - conoscere la path di un file e navigare tra le cartelle
Forum - C/C++ - conoscere la path di un file e navigare tra le cartelle

Avatar
yuco91 (Normal User)
Rookie


Messaggi: 21
Iscritto: 25/08/2009

Segnala al moderatore
Postato alle 19:36
Sabato, 12/11/2011
ciao. ho questo problema da risolvere. in poche parole devo avere un programma che quando si avvia riconosce il percorso completo in cui è e scende di un livello.

in pseudo codice:

Codice sorgente - presumibilmente C/C++

  1. mypath=[percoso in cui si trova il file]
  2. newpath= [funzione o comando per scendere nella direcoty precedente]



es.
il file si chiama pippo.txt e si trova in c:\files\testi

il programma deve prima riconoscere dove si trova il file, e dunque memorizzare nella variabile mypath il percorso corretto, e poi scendere di un livello, quindi andare nella cartella c:\files, e memorizzare questo nuovo percorso in newpath.

logicamente so risolvere il problema solo che non conosco le funzioni C/C++ che devo utilizzare. Qualche suggerimento? grazie.

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 19:49
Sabato, 12/11/2011
Forse non ho capito bene...il programma conosce già il path del file?
Se si, allora per salire di un livello basta prendere tutto il path fino all'ultima '\'(non compresa)
   es: c:\files\testi\pippo.txt  ==> c:\files\testi
Se no, mi dispiace ma non esiste un modo per sapere, dato solo il nome del file, dove si trova sul pc. Dovresti fare una ricerca ricorsiva su tutto il file system.

Su windows vedi le api contenute in questo esempio:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa ...

PM Quote
Avatar
yuco91 (Normal User)
Rookie


Messaggi: 21
Iscritto: 25/08/2009

Segnala al moderatore
Postato alle 19:52
Sabato, 12/11/2011
no, il percorso del file iniziale nn è noto, ma deve essere determinato volta per volta in base alla posizione in cui è il file. sicuro che nn si possa fare in modo più semplice? ad esempio in batch , con il comando %~d0 si ottine il percorso del file corrente. non esiste qualcosa di simile in c++ ?

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 20:19
Sabato, 12/11/2011
"il percorso del file corrente", per averlo devi comunque passare un file allo script batch. Quando gli passi un file windows passa anche il suo path completo.

PM Quote
Avatar
Nullable (Normal User)
Expert


Messaggi: 217
Iscritto: 12/07/2011

Segnala al moderatore
Postato alle 15:23
Domenica, 13/11/2011
Non ne sono sicuro al 100% ma credo che dovresti utilizzare substr ( substring )...

PM Quote