- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 boost 文件系统获取当前目录的路径,然后检查该目录是否存在。is_directory()
没问题,但是 exists()
在同一条路上失败了,我错过了什么吗?
示例代码(boost 1.35):
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
namespace fs = boost::filesystem;
// the path is full path /home/my/somedirectory
fs::path data_dir(fs::current_path());
fs::is_directory(data_dir) // true, directory exists
fs::exists(data_dir) // false
exists(status(data_dir)) // false
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
namespace fs = boost::filesystem;
fs::path data_dir(fs::current_path());
// data_dir == "/home/myusername/proj/test"
if (fs::is_directory(data_dir)) // true - is directory
if (fs::is_directory(fs::status(data_dir))) // true - it is still a directory
if (fs::exists(fs::status(data_dir))) // true - directory exists
if (fs::exists( data_dir )) // true - directory exists
if (!fs::exists(fs::status(data_dir))) // false - directory still exists
if (!fs::exists( data_dir )) // true - directory does not exists
最佳答案
以下来自Boost源代码:
inline bool is_directory( file_status f ) { return f.type() == directory_file; }
inline bool exists( file_status f ) { return f.type() != status_unknown && f.type() != file_not_found; }
is_directory
返回 true 然后
exists
也必须返回 true。也许问题出在您的代码中的其他地方 - 请发布一个显示问题的最小可编译示例。
file_status
两个调用的对象,看看是否可能是输出
status
正在改变。
关于boost::filesystem exists() 在目录路径上失败,但 is_directory() 没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203919/
我一直在寻找这个问题的答案,但我似乎无法调试问题! 所以,这就是我所拥有的。 我已经通过 homebrew (Mac OSX Mavericks) 版本 1.55.0 安装了 boost。 其他 bo
我正在运行一个包含多个子目录的目录。我正在使用 recursive_directory_iterator。我有目录 asr->collections->(多个目录和几个文本文件) #include
我目前正在捕获来自 boost::filesystem::is_directory 的错误,并通过在异常上调用“what()”向用户显示错误。这给出了失败的原因,但错误对用户来说很奇怪。例如: boo
boost::filesystem::recursive_directory_iterator end, begin(directory); auto num_of_files=std::count_
我正在使用 boost 文件系统获取当前目录的路径,然后检查该目录是否存在。 is_directory()没问题,但是 exists()在同一条路上失败了,我错过了什么吗? 示例代码(boost 1.
我有一些代码可以遍历目录中的文件并对非目录文件执行有用的操作,如下所示: namespace bfs = boost::filesystem; for (bfs::directory_iterator
使用 Linux OpenSUSE 12.3 32 位 我正在观看 Youtube 上 Bartosz Milewski 的 c++11 并发视频。在第 5 部分中,他在示例中使用了自己的 files
我是一名优秀的程序员,十分优秀!