如何使用POCO获取应用程序文件名,如GetModuleFileName(Win32 API)

时间:2015-08-23 09:44:06

标签: c++ poco-libraries

我试图找到使用跨平台POCO c ++ lib获取应用程序的exe文件名的方法。

尝试:

char* FileName ;
FileName =  const_cast<char*>(Application::name());

但是我在FileName char *中得到的只是“应用程序” 我在这做错了什么?

1 个答案:

答案 0 :(得分:2)

documentation说:

  

application.name:应用程序可执行文件的文件名

name()方法:

https://github.com/pocoproject/poco/blob/develop/Util/src/Application.cpp#L179

const char* Application::name() const
{
    return "Application";
}

我觉得有点混乱。但是,文档是正确的:

处理此问题的正确方法是获取配置(Application::config())并从中检索数据。

仍然,πάνταῥεῖ对您原始问题的评论是正确的:无需使用“便携式”库来处理该语言附带的内容。 main函数的argv[0]被定义为包含可执行文件名。