如何以独立于平台的方式从c ++目录中读取文件?

问题描述

我有一项任务,要求我开发通过的程序 文件名或目录名。

如果传递的是目录名,那么我必须读取该目录中的所有文件,并基本上对它们进行一些处理。

问题是我正在使用c ++,而没有第三方/系统库的c ++不能很好地与文件系统配合使用。

我如何从没有平台依赖性的目录中读取所有文件,因为我使用的是Windows计算机,而平地机则使用的是Linux计算机。

我尝试使用文件系统,但我有gcc 9.2,但无法编译

它不编译该文件:

#include <iostream> 
#include <filesystem>

namespace fs = std::filesystem;

int main(){
    
    fs::path p("some-path");
 
}

它导致此编译器错误:

testfs.cpp:4:21: error: 'filesystem' is not a namespace-name
    4 | namespace fs = std::filesystem;
      |                     ^~~~~~~~~~
testfs.cpp: In function 'int main()':
testfs.cpp:8:5: error: 'fs' has not been declared
    8 |     fs::path p("some-path");
   

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)