PDA

Visualizza la versione completa : [C++] Ricavare un percorso relativo da due percorsi assoluti (Windows)


Pensiero
14-04-2012, 23:47
Scusate, ma come posso fare, in c++, avendo 2 percorsi assoluti (A e B), ad ottenere il percorso relativo di B a partire da A?

MItaly
14-04-2012, 23:51
Sotto che sistema operativo?

lolide
14-04-2012, 23:57
Un modo standard OS indipendente non c'è...
Potresti fare una semplice comparazione tra stringhe, e questo metodo dovrebbe funzionare sia per i SO windows che unix/linux...

Es.

PercorsoA: /tmp/
PercorsoB: /tmp/prova

compari A e B e prendi la sotto stringa di B dopo l'ultimo slash (ovviamente devi gestire bene i casi in cui A sia solo la root o che A non finisca con uno slash.

Pensiero
14-04-2012, 23:57
Sto lavorando sotto windows. Windows XP per la precisione. Se esiste un modo più semplice, ad esempio con le api di windows , mi piacerebbe saperlo. La portabiltà non mi interessa.

MItaly
15-04-2012, 00:14
Sotto Windows puoi usare la API della shell PathRelativePathTo (http://msdn.microsoft.com/en-us/library/windows/desktop/bb773740%28v=vs.85%29.aspx). Ricordati che dovrai linkare Shlwapi.lib altrimenti otterrai errori di linker.

Pensiero
15-04-2012, 00:32
Originariamente inviato da MItaly
Sotto Windows puoi usare la API della shell PathRelativePathTo (http://msdn.microsoft.com/en-us/library/windows/desktop/bb773740%28v=vs.85%29.aspx). Ricordati che dovrai linkare Shlwapi.lib altrimenti otterrai errori di linker.

Grazie. E' proprio ciò che cercavo!

MItaly
15-04-2012, 00:43
:ciauz:

Loading