boost-filesystem相关内容
我正在尝试对包含从 boost::filesystem::dictionary_iterator 读取的信息的数据类型使用 std::sort.看来,由于排序算法已经进行了 n 比较,n 是目录中的文件数,因此该信息会丢失,我最终会出现段错误.Valgrind 说我正在使用未初始化的值并进行无效读取. 如何更改我的 File 数据类型或算法,以便在两次传递之间保留信息? #include
..
我应该如何使用 directory_iterator 来列出目录文件(非递归)? 此外,我应该添加/链接哪些头文件/库或我应该进行其他设置?我在我的项目中使用了 boost,但由于某种原因 directory_iterator 是“underclared identifier",而我可以使用其他 boost 功能. 更新 另一种解决方案: #include #include #
..
我想在 Windows 上使用 Boost 库,但这样做很麻烦.我从这里下载了Windows包并将其解压缩到C:\Boost: 我将以下内容添加到我的 CMake 文件中: find_package(Boost 1.68 REQUIRED COMPONENTS 文件系统)# ...target_link_libraries(MyExecutable ${Boost_LIBRARIES})
..
我想重命名目录中的文件.该目录中有52个文件夹.每个文件夹都有一个不同的名称,每个文件夹中都有大约40个文件.我想提取一个特定文件夹的名称,并将该名称附加到该特定文件夹中的文件名称中.当每个文件夹中只有31个或更少的文件时,它工作正常.但是,只要特定文件夹中的文件数超过31,我编写的重命名算法就会失败.我无法弄清楚为什么当有更多文件时它崩溃.如果你明白为什么...,请赐教我!我要附上代码: i
..
C ++ 17上的 std :: filesystem ,而许多C ++ 17之前的编译器的 std :: experimental :: filesystem ,均基于 boost :: filesystem ,几乎所有这些都可以移植到较新的std. 但是我看不到与 boost :: filesystem :: unique_path()等效的 std :: filesystem .
..
访问某些网络驱动器时,函数 relative(path,base_path)和 canonical(path,base_path)会引发异常.该消息始终为: 该进程无法访问该文件,因为该文件正在被另一个进程使用 我仅在由我们IT部门操作并包含符号链接的某些共享网络驱动器上观察到了此行为.我无法在本地驱动器或相邻计算机的共享驱动器上引发相同的问题.我们怀疑网络驱动器上使用的存档/备份解决
..
Boost的旧版功能请求正在请求与 mkstemp POSIX函数.该问题已永久解决,并带有评论 第3版中的unique_path()函数解决了该问题. 但是我看不到 unique_path 如何解决该问题.它与 tmpnam 基本相同:在生成名称并在创建实际文件之前,另一个程序可能已经创建了具有相同名称的文件. 那么应该如何解决 mkstemp 中的需求? 我的猜测是(至少在
..
我想通过Windows中的Boost Filesystem将所有文件保存在一个具体的文件夹(在本例中为Documents)中. 为此,我进行了筛选以确保没有文件夹. 问题是,当我仍然获得以下文件夹时: "C:\ .... \ Documents \ My Videos","C:\ .... \ Documents \ My Music","C:\ .... \ Documents \
..
感谢C ++ 11,在与boost长期保持联系之后,使我依赖它的最后一个组件是文件系统.根据以下链接,std :: filesystem似乎是实验性的:文件系统库 由于它模仿boost :: filesystem,因此我可以轻松地将我的项目改编为std并摆脱巨大的boost依赖关系.哪些编译器支持它,即使它是实验性的,因为它模仿了boost,因此也要使用它(因为没有时间表来确定何时将其标准化
..
我想使用boost文件系统读写具有unicode文件名的文件,在Windows(mingw)上使用boost locale(最后应与平台无关). 这是我的代码: #include#定义BOOST_NO_CXX11_SCOPED_ENUMS#include#include
..
请考虑以下有关路径分解的断言,其中每个局部变量例如词干具有明显的初始化功能,例如自动词干= path.stem() — assert(root_path = = root_name / root_directory); assert(path == root_name / root_directory / relative_path); assert(path == root_pa
..
关于获取 experimental / filesystem 存在一些问题code> 编译为最新版本的GCC和Clang: experimental :: filesystem linker error 但是现在 文件系统 已被接受为 c ++ 17 ,因此不再需要实验性或 -lstdc ++ fs 标志,对吗? 错误我什至不能 #include clang
..
首先,我使用Visual Studio 2015对即将发布的C ++ 17标准(基于Boost :: Filesystem)的Filesystem库的实现。 基本上,我想做的是保存文件的时间戳(即“最后写入时间”),将该文件的内容与所述时间戳一起复制到存档中,然后将该文件提取出来并使用保存的时间戳来还原正确的“上次写入时间”。 //获取文件的“上次写入时间”并将其转换为可用的整数。
..
给出以下代码: #include #include 命名空间fs = std :: filesystem; int main() { fs :: path fsBase =“ / base”; fs :: path fsAppend =“ / append”; 自动fsResult = fsBase / fsApp
..
我需要一个文件系统库,以供具有C ++ 11功能的编译器或具有C ++ 14功能的编译器使用-因此它不能来自C ++ 17。 现在,我知道进入C ++ 17的文件系统库基于Boost :: Filesystem;但是-它们是否足够相似,让我可以使用Boost库,然后在以后的时间无缝切换到标准版本,而无需更改超过 using 语句?还是两者之间有(轻微/重大)差异?我知道,对于 variant
..
我正在尝试使用Boost.Filesystem创建目录(该目录可以由用户提供,因此它可能是带有嵌套目录的路径;该路径中的所有目录,部分目录或不存在目录都可以启动) ).当我运行程序时,会创建一个目录,但这不是我想要的;包含路径的字符串似乎被弄乱了.我从未两次得到相同的结果,但是目录的名称始终以冒号开头. 一个最小的例子: #include #include
..
我遇到以下问题: 如果我传递boost::filesystem::path::string()的结果与将结果存储在中间字符串变量中,则 std::regex的行为会有所不同.第一个匹配项将被截断,但后来被std::stoull不接受(引发invalid_argument异常),而第二个匹配项将完美运行. 请参阅以下命令,详细说明问题: [nix-shell:~]$ ls -l f
..
当我试图从网络驱动器中获取我没有读取权限的文件时,我使用的是Boost 1.52.使用boost::filesystem::exists(fileName)后出现异常 有没有比在每个地方都做try, catch更好的工作了? 我现在已切换回原来的代码: bool FileExists(const char* fileName) { struct stat my_stat;
..
我尝试创建某种文件浏览器.我想知道path下的文件是否可以跨平台执行. 如何使用boost :: filesystem做这样的事情? 解决方案 提升没有有关权限的内容,因为POSIX权限不是“跨平台"的. 根据需要使用特定于平台的API.抱歉!
..
从boost/filesystem/path.hpp: # ifdef BOOST_WINDOWS_API const std::string string() const { [...] } # else // BOOST_POSIX_API // string_type is std::string, so there is no
..