问题标签 [boost-filesystem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4556 浏览

c++ - Boost:copy_file 失败,访问被拒绝,但没有权限问题

我编写了以下例程,以便将目录中的所有文件复制到子目录然后删除它们,但是我一直在 copy_fail 上获得访问被拒绝,这看起来对我有误导性。路径正确,文件存在且权限在刚刚创建的目标目录中不是只读的。

任何建议如何寻找问题的根源?

我试图调试,但我没有 boost::filesystem 源代码。

任何建议表示赞赏。

0 投票
2 回答
1055 浏览

c++ - 关于我使用 Boost 库的第一个程序的问题(例外,长路径)

我正在尝试用 C++ 编写我的第一个程序,我需要使用 Boost 库。我正在尝试编写一个程序,它递归地遍历目录树并返回最新和最旧文件的日期。

这就是我现在的位置:

我遇到的问题是:

1.当我遇到路径太长(我认为超过256或260个字符)时,出现错误:

2.当我遇到一个不可访问的目录时,比如“系统卷信息”,我还有两个:

如何修改上面的代码以在 Windows 下处理长路径名?真的很难做到吗?一些程序,例如 Total Commander 没有长路径问题,但许多程序仍然存在。

更重要的问题是我如何才能真正使上述代码工作(不关心长路径)。问题是当for ( ; it_dir != it_end; ++it_dir )遇到一个不可访问的目录时,它会抛出一个异常,为了捕获这个异常,我需要定义外部捕获。但是当我在外面时,这意味着for循环没有继续。所以这意味着上面的代码可以工作到第一个不可访问的文件夹。它在那里引发异常并结束。

抛出异常后,有什么方法可以返回for循环? 我的想法是在 catch 内做一个 ++it_dir 并再次启动 for 循环。但是我怎样才能重新开始呢?Shell 我把它移出一个单独的函数?

对不起,如果我的理解不清楚,这是我的第一个项目。我以前从未使用过 C++,但我正在尽力而为!

编辑:

还有其他答案吗?问题是对于“不可访问”类型的错误,catch在循环内不起作用。我怎样才能让它在里面工作?这是产生错误的最小代码。有什么方法可以在 for 循环中捕获此错误?或者以在使用 it_dir++ 跳过不可访问元素后可以继续的方式捕获它?

0 投票
2 回答
13403 浏览

c++ - C ++:boost文件系统返回比特定时间更早的文件列表

我正在使用Boost::FileSystem在 Linux 平台下运行 C++ 的库,我有以下问题:

我想要一个比给定日期时间更早修改的文件列表。我不知道是否boost::FileSystem提供这样的方法:

如果是,您能否提供示例代码?

0 投票
1 回答
1073 浏览

boost - 提升文件系统迭代器

刚开始学习 boost::filesystem。

  1. directory_iterator 和 basic_path::iterator 有什么区别?
  2. 迭代器是否按字典顺序迭代文件?

谢谢

0 投票
1 回答
16475 浏览

c++ - 如何在 boost::filesystem 中使用 copy_file?

我想将一个文件从一个目录复制到另一个目录,但我的程序总是由于某些原因中止。以前有没有人这样做过可以告诉我出了什么问题?我怎么能捕获异常被抛出copy_file,我检查了 boost 站点,但我找不到任何有关异常的相关信息。

谢谢,

0 投票
2 回答
10614 浏览

c++ - 如何在主目录中创建文件夹?

我想创建一个目录path = "$HOME/somedir"

我试过使用boost::filesystem::create_directory(path),但失败了——显然该函数没有扩展系统变量。

我怎样才能以最简单的方式做到这一点?

(注意:在我的情况下,字符串path是常量,我不确定它是否包含变量)

编辑:我正在使用 Linux(尽管我计划在不久的将来将我的应用程序移植到 Windows)。

0 投票
2 回答
5374 浏览

gcc - 与 Boost.Filesystem 链接的问题

我正在尝试使用 boost::filesystem 中的函数来更改我当前的工作目录(并在必要时创建它)。我收到链接错误:

但我正在链接boost库??!?我使用以下内容:

而且我知道它可以找到它们,因为-Wl, -t我得到:

FWIW:我正在使用 gcc Ubuntu 4.4.3-4ubuntu54.4.3

0 投票
2 回答
231 浏览

c++ - 缺少 directory_entry 的比较运算符

考虑以下程序:

这无法编译(Visual Studio 2005,Windows XP SP3),有 17 个此错误的变体:

根据文档(我仍在使用 Boost 1.45),为 定义了比较运算符directory_entry,但我和编译器都找不到它们(我手动检查了标题)。我忽略了什么吗?难道是我在构建 boost 时犯了一个错误,也许是通过设置一些禁用这些运算符的选项?文档有错吗?谁能解释一下?

0 投票
2 回答
7347 浏览

c++ - boost::filesystem3::path::codecvt() 未定义引用

尝试使用 boost 文件系统 3,但是当我链接时,我得到以下未定义的参考:

我在 boost 中到处都是 grep 并且没有 wchar_t_codecvt_facet()

这是在哪里定义的?

谢谢

0 投票
2 回答
1175 浏览

c++ - boost::filesystem v3 - 正确的路径大小写

嗨,有没有一种有效的方法来纠正给定 Windows 路径的情况?

(没有 Windows-API!)