View Full Version : [C++] Comparare due path (risolto)
stdecden
08-09-2007, 09:47
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??
mapomapo
08-09-2007, 09:50
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
stdecden
08-09-2007, 09:54
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:
//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
{
...
EDIT:
P.S. Io uso Win XP
stdecden
08-09-2007, 10:32
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!!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.