|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
[C++] Comparare due path (risolto)
Salve a tutti,
Volevo chiedervi come comparare due nomi di file, per esempio: ./Data/a.txt ./Data/../Data/a.txt Come faccio a determinare che quei due path sono la stessa cosa?? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Bari
Messaggi: 349
|
e la butto giù lì non sapendo bene come funzioni la cosa...
ma nel caso in cui: 1- il controllo sia solo sul nome 2- tu possa accedere ai path come stringhe puoi pensare di fare una cosa di questo genere: inserisci tutte le estensioni da qualche parte in modo tale che possano essere comparate, quando nella tua stringa del path viene riconosciuta l'estensione .qualcosa scrivi in un'altra stringa tutto quello che c'è dal / al punto fai lo stesso per l'altro path e una strcmp finale tra le due stringhe... magari è una minchiata...io c'ho provato però.. Vito
__________________
Si può vincere una guerra in due...o forse anche da solo. Si può estrarre il cuore anche al più nero assassino, ma è più difficile cambiare un'idea! |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
No in effetti ho scritto male il titolo, intendevo comparare due path. Per esempio verificare se un path relativo ed un path assoluto sono la stessa cosa:
Codice:
//Path corrente C:\
std::string Path1 = "C:\\data\\a.txt";
std::string Path2 = ".\\data\\a.txt";
if(Path1 == Path2) // <- PROBLEMA Verificare se si tratta dello stesso file
{
...
P.S. Io uso Win XP Ultima modifica di stdecden : 08-09-2007 alle 11:01. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
Ho trovato una soluzione:
... char Path[512]; _fullpath(Path, Filename.c_str(),512); int i = 0; while(Path[i] != 0) { Path[i] = tolower(Path[i]); i++; } ... Cosí posso tranquillamente comparare i file!!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:10.



















