0

我是这个 boost 的新手,对 boost::filesystem::path 有一点疑问。我有一个应用程序,它使用启动此应用程序所需的配置文件的相对路径。我目前使用:

boost::filesystem::path PATH(".\\..\\dir1\\file1.xml");

我查看了 boost::filesystem::path 的 / 运算符,并对使用它感兴趣。

我试过这个:

boost::filesystem::path const PATH("."/"dir1"/"file1.xml");

但出现错误:错误 C2296:“/”:非法,左操作数的类型为“const char [2]”:错误 C2297:“/”:非法,右操作数的类型为“const char [5]”

这是他们使用它的一种干净的方式吗?

如何使用 / 运算符来完成此操作?

提前致谢

4

1 回答 1

1

的至少一个操作数/必须已经是路径,尝试:

boost::filesystem::path const PATH(boost::filesystem::path(".")/"dir1"/"file1.xml");

或者如果允许使用 C++11,则将其简化为:

const auto PATH = boost::filesystem::path(".")/"dir1"/"file1.xml";
于 2013-04-08T18:26:27.403 回答