2012-03-02 14 views
5

C'è un modo semplice per ottenere il nome applicazione utilizzando Boost (magari con boost::program_options?)Opzioni Boost - Get nome dell'applicazione

La cosa sarà simile a questo:

Avere argv[0] = "c:\foo\bar\appname.exe"

voglio per avere var1 = "appname"

+2

Bene, c'è 'basename (3)', anche se questo è, ammettiamolo, non molto Boosty. – zmccord

+0

Se vuoi davvero essere elegante, puoi usare 'boost.regex' per analizzare il percorso. – Linuxios

risposta

10

È possibile utilizzare boost :: filesystem per estrarre il nome dal percorso. sarebbe simile a questa:

#include <boost/filesystem.hpp> 

boost::filesystem::path p = argv[0]; 
std::string var1 = p.stem().string(); 
+0

Era esattamente quello che stavo cercando. Grazie Tobias! –

Problemi correlati