草庐IT

libboost_filesystem-vc

全部标签

c++ - 如何使用 Boost Filesystem 忽略隐藏文件(和隐藏目录中的文件)?

我正在使用以下递归地遍历目录中的所有文件:try{for(bf::recursive_directory_iteratorend,dir("./");dir!=end;++dir){constbf::path&p=dir->path();if(bf::is_regular_file(p)){std::cout但这包括隐藏文件和隐藏目录中的文件。如何过滤掉这些文件?如果需要,我可以将自己限制在隐藏文件和目录以“.”开头的平台上。性格。 最佳答案 不幸的是,似乎没有跨平台的方式来处理“隐藏”。以下适用于类Unix平台:首先定义:bool

c++ - 在 vc2010 中为映射值类型创建指向成员的指针

我们在将代码移植到VC++的旧版本2010时遇到了问题。问题是由VC中的map实现引起的,它导致non-type-argument中的pointer-to-member派生到基本转换被要求:#include#includetemplateboolf(MapValueTypeconst&v);intmain(){typedefstd::mapMapType;MapTypem;std::find_if(m.begin(),m.end(),f);}生成以下消息:Standardconversionfrompointer-to-memberofbasetopointer-to-memberof

c++ std::bad_alloc on std::filesystem::path 追加

我遇到了一个非常奇怪的行为,我将其提炼为一个非常基本的测试:#include#includeintmain(void){conststd::stringname="foo";conststd::filesystem::pathlock_dir="/tmp";std::filesystem::pathlockfile=lock_dir/name;return0;}我用g++-std=c++17-Wall-Wextra-Werror-gfoo.cpp-ofoo编译它。当我运行它时,我在附加两条路径的行上得到一个std::bad_alloc异常。这是我用gdb看到的#0__GI_raise(

c++ - libc++ 与 VC++ : Can non-UTF conversions be done with wstring_convert?

C++11的std::wstring_convert效果很好*用于标准UTF-8UTF-16/UCS2/UCS4转换。但是,当我尝试使用不是来自的构面实例化wstring_convert或wbuffer_convert时,它没有按预期工作://worksasexpectedstd::wstring_convert>ucs4conv;//Now,byanalogy,Iwanttotrythis:std::wstring_convert>gbconv(newstd::codecvt_byname("zh_CN.gb18030"));Clang++错误提示“在~wstring_convert

c++ - 缺少 vc_runtimeminimum_x86.msi 并且无法安装

我目前正在完成VisualStudio2017CommunityEdition与C++一起使用的安装过程。安装到一半,出现错误提示"Thefeatureyouaretryingtouseisonanetworkresourcethatisunavailable.ClickOKtotryagain,orenteranalternatepathtoafoldercontainingtheinstallationpackage'vc_runtimeMinimum_x86.msi'intheboxbelow."如果我点击取消,程序会继续,最后会告诉我设置失败。它给了我附在这篇文章底部的错误日志

c++ - VC++ 优化打破了与 NaN 的比较?

IEEE754要求NaN是无序的;当一个或两个操作数为NaN时,小于、大于、等于等都应返回false。下面的示例在所有优化级别使用g++编译时以及使用VC++的CL.exe(32位版本15.00.30729.01)编译时没有优化参数或/Od、/fp:fast、/arch:SSE的任意组合。但是,当使用/O1或/O2(以及任何/没有其他优化参数)编译时,TTFFFT结果,即使还指定了/Op。CL.exe的64位版本产生许多变体-TTFFFT、TTTFFT、TTTFFF等-取决于优化级别以及是否/fp:fast已指定,但与32位版本一样,合规行为似乎只有在禁用所有优化的情况下才有可能。我是

c++ - 如何将 'const boost::filesystem2::path' 变成 'const char *' ?

如何将“constboost::filesystem2::path”转换为“constchar*”? 最佳答案 尝试使用path::string().c_str() 关于c++-如何将'constboost::filesystem2::path'变成'constchar*'?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4875482/

c++ - std::filesystem::directory_iterator 链接器问题 (C++17)

这个问题在这里已经有了答案:LinkerrorsusingmembersinC++17(4个答案)关闭4年前。在尝试使用C++17标准中的std::filesystem::directory_iterator时,我的C++构建出现问题。代码如下:std::vectorIO::getDirectoryList(std::filesystem::path&dirPath){std::vectorfiles;for(auto&file:std::filesystem::directory_iterator(".")){files.push_back(file.path());}returnf

c++ - 在 VC11 中启用/禁用 SAFESEH?

我为zlib1.2.7创建了一个新的解决方案,将其设置为静态库,从./zlib/contrib/minizip添加了必要的头文件和源文件,并让它进行编译美好的。然后我将它链接到libpng(也作为静态库),它也可以正常编译。然后,我将libpng链接到我的图形引擎项目(也是一个静态库)...仍然没有错误。但是一旦我将我的主要项目链接到我的图形引擎,我就会收到几个关于crc32.obj、deflate.obj、inflate的LNK2026错误。obj、d3dxplane.obj、d3dxvec4.obj和其他zlib/directx相关模块。它告诉我它们来self的图形引擎库,所以我决

c++ - 从 boost::filesystem::is_directory 捕获异常

我目前正在捕获来自boost::filesystem::is_directory的错误,并通过在异常上调用“what()”向用户显示错误。这给出了失败的原因,但错误对用户来说很奇怪。例如:boost::filesystem::is_directory:Accessisdenied我如何捕获boost错误并找出实际原因,以便显示更好的错误消息? 最佳答案 “更好的错误信息”是指类似的东西吗#include#includeintmain(){boost::filesystem::pathp("/proc/1/fd/1");try{boo