V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
forcecharlie
V2EX  ›  C

Visual Studio 2017 15.7 Preview 3 已经支持 std::filesystem 了

  •  
  •   forcecharlie · 2018-04-10 21:44:48 +08:00 · 2497 次点击
    这是一个创建于 2417 天前的主题,其中的信息可能已经有所发展或是发生改变。

    半个多月前,就有消息说 msvc 将要支持 std::filesystem 了,后来更新 VisualCppTools Daily 发现已经支持了:

    https://www.reddit.com/r/cpp/comments/88mmjk/visualcpptoolscommunitydaily_can_support/

    微软官方博客:

    https://blogs.msdn.microsoft.com/vcblog/2018/04/09/msvc-now-correctly-reports-__cplusplus/

    而 GCC 在 8.0 也将支持 std::filesystem https://www.reddit.com/r/cpp/comments/7o9kg6/gcc_80_support_stdfilesystem_include_filesystem/

    现在没有进一步消息的只剩 libcxx 了。

    这意味着可以这样写文件系统相关的代码了:

    #include <iostream>
    #include <fstream>
    #include <filesystem>
    namespace fs = std::filesystem;
    
    int main()
    {
        fs::create_directories("sandbox/dir/subdir");
        std::ofstream("sandbox/file1.txt").put('a');
        fs::copy("sandbox/file1.txt", "sandbox/file2.txt"); 
        fs::copy("sandbox/dir", "sandbox/dir2"); 
        fs::copy("sandbox", "sandbox/copy", fs::copy_options::recursive);
        fs::remove_all("sandbox");
        return 0;
    }
    
    
    7 条回复    2018-04-21 16:30:30 +08:00
    zhiqiang
        1
    zhiqiang  
       2018-04-11 07:48:58 +08:00 via Android
    boost 早就有了,你们都不用 boost 的吗?
    zhiqiang
        2
    zhiqiang  
       2018-04-11 07:49:38 +08:00 via Android
    对大多数人和项目而言,升级编译器比使用 boost 难多了。
    forcecharlie
        3
    forcecharlie  
    OP
       2018-04-11 09:37:09 +08:00
    @zhiqiang std::filesystem 就是基于 boost 的,说实话并不想用 boost,而 asio 都是用的独立版。
    nyanyh
        4
    nyanyh  
       2018-04-11 09:53:07 +08:00
    现在 C++什么都有了吗🌚感觉越发展越臃肿了
    P0P
        5
    P0P  
       2018-04-11 10:01:00 +08:00
    可以考虑 qt
    timsensor
        6
    timsensor  
       2018-04-11 13:08:35 +08:00
    很多年前就有了,不过是放在另一个命名空间
    我还是选择用 QT
    zhiqiang
        7
    zhiqiang  
       2018-04-21 16:30:30 +08:00
    @forcecharlie 为什么不用 boost ?我听说二进制会变大,不知道会变大多少
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2752 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:18 · PVG 21:18 · LAX 05:18 · JFK 08:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.