问题标签 [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.
c++ - Boost:copy_file 失败,访问被拒绝,但没有权限问题
我编写了以下例程,以便将目录中的所有文件复制到子目录然后删除它们,但是我一直在 copy_fail 上获得访问被拒绝,这看起来对我有误导性。路径正确,文件存在且权限在刚刚创建的目标目录中不是只读的。
任何建议如何寻找问题的根源?
我试图调试,但我没有 boost::filesystem 源代码。
任何建议表示赞赏。
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++ 跳过不可访问元素后可以继续的方式捕获它?
c++ - C ++:boost文件系统返回比特定时间更早的文件列表
我正在使用Boost::FileSystem
在 Linux 平台下运行 C++ 的库,我有以下问题:
我想要一个比给定日期时间更早修改的文件列表。我不知道是否boost::FileSystem
提供这样的方法:
如果是,您能否提供示例代码?
boost - 提升文件系统迭代器
刚开始学习 boost::filesystem。
- directory_iterator 和 basic_path::iterator 有什么区别?
- 迭代器是否按字典顺序迭代文件?
谢谢
c++ - 如何在 boost::filesystem 中使用 copy_file?
我想将一个文件从一个目录复制到另一个目录,但我的程序总是由于某些原因中止。以前有没有人这样做过可以告诉我出了什么问题?我怎么能捕获异常被抛出copy_file
,我检查了 boost 站点,但我找不到任何有关异常的相关信息。
谢谢,
c++ - 如何在主目录中创建文件夹?
我想创建一个目录path = "$HOME/somedir"
。
我试过使用boost::filesystem::create_directory(path)
,但失败了——显然该函数没有扩展系统变量。
我怎样才能以最简单的方式做到这一点?
(注意:在我的情况下,字符串path
是常量,我不确定它是否包含变量)
编辑:我正在使用 Linux(尽管我计划在不久的将来将我的应用程序移植到 Windows)。
gcc - 与 Boost.Filesystem 链接的问题
我正在尝试使用 boost::filesystem 中的函数来更改我当前的工作目录(并在必要时创建它)。我收到链接错误:
但我正在链接boost库??!?我使用以下内容:
而且我知道它可以找到它们,因为-Wl, -t
我得到:
FWIW:我正在使用 gcc Ubuntu 4.4.3-4ubuntu54.4.3
。
c++ - 缺少 directory_entry 的比较运算符
考虑以下程序:
这无法编译(Visual Studio 2005,Windows XP SP3),有 17 个此错误的变体:
根据文档(我仍在使用 Boost 1.45),为 定义了比较运算符directory_entry
,但我和编译器都找不到它们(我手动检查了标题)。我忽略了什么吗?难道是我在构建 boost 时犯了一个错误,也许是通过设置一些禁用这些运算符的选项?文档有错吗?谁能解释一下?
c++ - boost::filesystem3::path::codecvt() 未定义引用
尝试使用 boost 文件系统 3,但是当我链接时,我得到以下未定义的参考:
我在 boost 中到处都是 grep 并且没有 wchar_t_codecvt_facet()
这是在哪里定义的?
谢谢
c++ - boost::filesystem v3 - 正确的路径大小写
嗨,有没有一种有效的方法来纠正给定 Windows 路径的情况?
(没有 Windows-API!)