Dev*_*lar 5 c++ boost boost-filesystem
使用boost_filesystem时,Boost会不断为文件名添加引号.
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;
}
Run Code Online (Sandbox Code Playgroud)
编译:
g++ foo.cpp -o foo -lboost_filesystem -lboost_system
Run Code Online (Sandbox Code Playgroud)
输出:
./foo
"./foo"
"foo"
Run Code Online (Sandbox Code Playgroud)
这有些出乎意料,在我的情况下不方便.这是真的故意,还是我在这方面有点老版本的Boost(1.46.1)车?有什么方法可以避免它们被添加?
我仔细阅读了文档,但除了在示例输出中没有显示引号的教程之外,我没有开悟.
这实际上是版本1.47.0上Boost框架上提交的错误.
建议的解决方法是:
std::cout << path("/foo/bar.txt").filename().string()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1263 次 |
最近记录: |