Ho trovato molte librerie per aiutare con l'analisi degli argomenti della riga di comando, ma nessuno di loro sembra gestire i nomi dei file. Se ricevo qualcosa come "../foo" sulla riga di comando, come faccio a capire il percorso completo del file?Come si ottiene il percorso completo per un argomento della riga di comando del nome file?
risposta
POSIX ha realpath()
.
#include <stdlib.h>
char *realpath(const char *filename, char *resolvedname);
DESCRIZIONE
Il realpath() funzione deriva, dal percorso puntata da nome, un percorso assoluto che indica lo stesso file, la cui risoluzione non comporta". "" .. ", o collegamenti simbolici. Il percorso generato viene memorizzato, fino a un massimo di {PATH_MAX} byte, nel buffer indicato da risolto nome.
Grazie per la modifica, Jonathan; e soprattutto per il riassunto. – pmg
Si potrebbe utilizzare boost::filesystem
per ottenere il absolute path
di un file, dalla sua relative path
:
namespace fs = boost::filesystem;
fs::path p("test.txt");
fs::path full_p = fs::complete(p); // complete == absolute
std::cout << "The absolute path: " << full_p;
fs :: absolute (p) in V3 – KindDragon
Negli script di shell, il comando "readlink -f" ha la funzionalità di realpath().
- 1. react router ottiene il nome completo del percorso corrente
- 2. Come si ottiene il nome completo della classe in Eclipse?
- 3. Come posso espandere il percorso completo del file corrente per passare a un comando in Vim?
- 4. Laravel 5 come si ottiene il nome dell'azione del percorso?
- 5. Come si ottiene il nome file corrente di un documento di Word, senza estensione o percorso completo, utilizzando una macro?
- 6. Utilizzare sed per prelevare il nome file dal percorso completo?
- 7. Passaggio del percorso della libreria come argomento della riga di comando a setup.py
- 8. Come si ottiene un percorso file senza estensione in PowerShell?
- 9. Passa un nome file come argomento della riga di comando allo script GNU Octave
- 10. Come si ottiene la riga di comando completa in ruby?
- 11. Eclipse PDE: dato un percorso relativo come /ProjectName/lib/something.jar, come si ottiene un percorso completo del filesystem?
- 12. ottenere il nome completo di un assembly
- 13. Esiste un comando che stamperà il percorso del file nel repo-browser nella riga di comando?
- 14. Come posso sostituire un argomento della riga di comando con il completamento della tabulazione?
- 15. Come si ottiene il percorso della sceneggiatura in esecuzione?
- 16. argomenti della riga di comando dal contenuto di un file
- 17. xslt ottiene il percorso della cartella corrente del file
- 18. Converti argomento riga di comando nella stringa
- 19. L'utility della riga di comando svn non funzionerà se il nome del file completo è più lungo di 256 caratteri
- 20. Come ottenere il percorso completo per un file in VBScript?
- 21. Come ottenere il percorso completo del file build.gradle di Groovy?
- 22. Come espandere un collegamento simbolico al percorso completo di un nome file in vim?
- 23. Modifica un argomento della riga di comando in Bash
- 24. Come si configura il nome di dominio completo del server?
- 25. Ottieni il nome file senza estensione dal percorso completo
- 26. Ottieni percorso completo senza nome file dal percorso che include il nome file
- 27. Come posso rendere eseguibile un programma dalla riga di comando senza digitare il suo percorso completo?
- 28. Come si ottiene il percorso esatto di "Documenti"?
- 29. Come scrivere un percorso completo in un file batch con un nome di cartella con spazio?
- 30. Come si ottiene il nome del set di attributi?
Perché pensi di aver bisogno del percorso completo del file? Syscalls funziona bene con percorsi relativi. –
Credo che il comando 'pwd' ti dia il tuo percorso/posizione corrente. Dovresti essere in grado di capire il resto ... ma Andrew (commento sopra) è corretto. –
La mia utilità genera alcuni file di testo, quindi ho bisogno del percorso completo. Costruire percorsi sembra un dolore, questo deve essere stato risolto già 1000 volte. –