使用boost_filesystem时,Boost会在文件名中不断添加引号。
foo.cpp:
foo.cpp:
#include <iostream>
#include <boost/filesystem.hpp>
int main( int argc, char * argv[] )
{
std::cout << argv[0] << std::endl;
boost::filesystem::path p( argv[0] );
std::cout << p << std::endl;
std::cout << p.filename() << std::endl;
return 0;
}
编译:
g++ foo.cpp -o foo -lboost_filesystem -lboost_system
输出:
./foo
"./foo"
"foo"
这有点出乎意料,在我的情况下也有些不方便。这是故意的吗?还是我的比较旧的Boost版本(1.46.1)在这方面有漏洞?有没有什么办法可以避免它们被添加?
我查阅了文档,但除了教程中的示例输出不显示那些引号外,我并没有得到启发。
replace_all()
并不能真正帮助,因为可能会在文件名中嵌入引号,尽管它可能很愚蠢。;-) - DevSolar