2012-03-02 23 views
5

¿Hay una forma sencilla de obtener el nombre de la aplicación usando Boost (tal vez con boost::program_options?)Opciones Boost - Obtener nombre de la aplicación

Lo será así:

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

quiero tener var1 = "appname"

+2

Bueno, hay 'basename (3)', aunque eso no es muy Boosty. – zmccord

+0

Si realmente quieres ser elegante, puedes usar 'boost.regex' para analizar la ruta. – Linuxios

Respuesta

10

Puede usar boost :: filesystem para extraer el nombre de la ruta. eso sería algo como esto:

#include <boost/filesystem.hpp> 

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

Eso era exactamente lo que estaba buscando. Gracias Tobias! –

Cuestiones relacionadas