- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下函数:
void foo(const std::string& dir)
{
for (auto& el : std::filesystem::recursive_directory_iterator(dir)) {
std::cout << el.path() << '\n';
}
}
当用于:
int main()
{
std::string p = "C:\\";
foo(p);
}
当它到达 Windows 10 上的某个文件夹(我假设)时会引发异常。该代码是在 VS 2017 上编译的,支持 C++17。异常消息是:
recursive_directory_iterator::operator++: The system cannot find the path specified.
使用 std::filesystem::directory_iterator
时也会发生相同的行为。为什么它会在该特定文件夹上引发异常?
最佳答案
显然,当操作系统拒绝访问其中一个文件夹的权限时,会引发异常。
解决方法是利用适当的 recursive directory iterator构造函数重载(第四个)并提供 skip_permission_denied
参数:
for (auto& el : std::filesystem::recursive_directory_iterator(dir, std::filesystem::directory_options::skip_permission_denied)) {
std::cout << el.path() << '\n';
}
关于c++ - std::filesystem::recursive_directory_iterator 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52318249/
由于 C++17 std::filesystem 与 boost::filesystem 非常相似,所以我尝试做与这个问题相同的事情: Escaping some Directories in ite
我试图在我的 visual studio 2017 上通过 c++17 获取目录中的所有文件,但我刚刚遇到了一个非常奇怪的问题。如果我像这样指定目录,我可以毫无问题地获取所有文件: for (
我正在使用 boost 迭代器“recursive_directory_iterator”递归扫描目录。但是,当迭代器运行到我的应用程序无权访问的目录时,会抛出“boost::filesystem3:
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我刚刚注意到 std::filesystem::recursive_directory_iterator 使用不同的路径分隔符(即 / vs \),这取决于它是否打开Windows 或 Linux,是
以下函数: void foo(const std::string& dir) { for (auto& el : std::filesystem::recursive_directory_it
我发现 boost::recursive_directory_iterator 与 boost::directory_iterator 有不同的行为 所以我有两个结构: struct director
我需要递归地遍历一个目录;我从这里的另一个线程得到了一个非常好的功能;为了我的目的对它进行了一点点调整,它在带有 boost 1.62 和 clang 的 Mac 上完美运行。 但是,我们使用的是 S
我需要递归地从目录及其子目录中获取所有文件,但不包括几个目录。我知道他们的名字。是否可以使用 boost::filesystem::recursive_directory_iterator ? 最佳答
配置 macOS:10.15.5 xcode:11.5 clang :11.0.3 项目设置为c++ 17 我是macOS的新手,正在尝试解决一个简单的问题。 #include #include
我需要在一个目录及其子目录中递归搜索文件,但我想从搜索中排除一个路径(及其文件和子目录)。 我正在使用 std::experimental::filesystem::recursive_directo
for (auto p : std::filesystem::recursive_directory_iterator(get_folder(), std::filesystem::directory
std::filesystem::directory_iterator 和/或 std::filesystem::recursive_directory_iterator 保证返回std: :file
我正在扫描整个 C 盘以查找 jpg 文件,代码如下: std::string extensions[] = { ".jpg" }; recursive_directory_iterator dir(
我想使用标准算法从递归目录列表中过滤掉一些条目。假设只留下常规文件。STL 中的一些算法确实有效,例如std::count_if,但其他的,例如 std::remove_if,则不这样做。 它应该工作
我下面的代码不断遇到段错误,我似乎无法弄清楚原因。请帮助~~我的目标是读取一个文件夹及其所有子文件夹以查找所有以扩展名“.txt”结尾的文件,因此我使用 boost 的递归目录迭代器来帮助完成任务。由
我需要递归或不递归地遍历文件夹(给定 bool 参数)。我发现有 fs::recursive_directory_iterator() 和 fs::directory_iterator()。在 Jav
我想使用 boost::filesystem 提供的 recursive_directory_iterator 来删除一个目录。但是在构造时,调试器会停止并显示消息 Signal Received:
我是一名优秀的程序员,十分优秀!