【发布时间】:2012-02-14 06:27:50
【问题描述】:
这是我的代码:
fs::path datadir = ...;
std::string dataDirOption((boost::format("--datadir=%1%") % datadir).str());
对于datadir=="c:/db",我得到dataDirOption=="--datadir=\"c:/db\"",而不是"--datadir=c:/db"
是否可以告诉boost::filesystem::path 在格式化时跳过引号?
现在,我知道我可以用 datadir.string() 替换 datadir 并以这种方式去掉引号,但我想知道是否可以在没有额外字符串的情况下这样做。
谢谢。
【问题讨论】:
-
我认为 Boost 只是为了安全起见,以防万一。路径中的空格。
-
我明白,但我正在为 mysqld 数据库引擎编写命令行,它真的不喜欢额外的引号。