2012-03-02 3 views
5

Есть простой способ, чтобы получить имя приложения с помощью бустера (возможно с boost::program_options?)Опции Повышения - Получить имя приложения

Дело будет выглядеть следующим образом:

Имея argv[0] = "c:\foo\bar\appname.exe"

Я хочу var1 = "appname"

+2

Ну, есть 'basename (3)', хотя это, по общему признанию, не очень Boosty. – zmccord

+0

Если вы действительно хотели быть фантазией, вы можете использовать 'boost.regex' для анализа пути. – Linuxios

ответ

10

Вы можете использовать boost :: filesystem для извлечения имени из пути. что бы выглядело примерно так:

#include <boost/filesystem.hpp> 

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

Это именно то, что я искал. Спасибо Тобиасу! –

Смежные вопросы