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?
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?
Sotto che sistema operativo?
Amaro C++, il gusto pieno dell'undefined behavior.
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.
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.
Sotto Windows puoi usare la API della shell PathRelativePathTo. Ricordati che dovrai linkare Shlwapi.lib altrimenti otterrai errori di linker.
Amaro C++, il gusto pieno dell'undefined behavior.
Grazie. E' proprio ciò che cercavo!Originariamente inviato da MItaly
Sotto Windows puoi usare la API della shell PathRelativePathTo. Ricordati che dovrai linkare Shlwapi.lib altrimenti otterrai errori di linker.
Amaro C++, il gusto pieno dell'undefined behavior.