半个多月前,就有消息说 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;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.