c++ - ServerApplication 看不到具有相对路径的文件

标签 c++ c++11 poco-libraries

我有一个扩展 ServerApplication 的应用程序。我不依赖于 ServerApplication 使用的预定义位置中的配置文件,而是希望强制用户通过命令行标志将路径传递给文件:

myapp -f path/to/my/file --daemon

我的问题是,使用 --daemon 标志我无法传递相对路径,因为 ServerApplication 无法看到该文件,我需要传递完整路径:/path/to/my/file。如果未传递 --daemon 标志,则应用程序能够看到该文件。

我知道一旦应用程序守护进程将其目录更改为 / 但我正在读取 ApplicationServer::initialize 中的文件并打印 的值application.dir 显示正确的路径。

这是一个错误还是我遗漏了什么?

最佳答案

application.dir 与当前工作目录不同。事实上, Util::ServerApplication changes it explicitly到 root,这与默认守护程序行为一致。

关于c++ - ServerApplication 看不到具有相对路径的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921824/

相关文章:

C++:打印数据,printf

c++ - 'class Poco::XML::Element' 没有名为 'getNodeByPath' 的成员

C++ 模板允许丢弃 const 引用限定符

c++ - 指向不同类型的指针

c++ - 如何声明二维对象数组并从函数返回它

c++ - 没有形式参数的可变函数模板

c++ - 如何从动态内存中正确删除对象的指针?

c++将用户定义的类插入 map

c++ - 无法将 splitterChannel 与 poco 的高级 xml 配置一起使用

c++ - 当我尝试转换 Int64 时,poco-library 出现错误的转换异常