如何从Linux中读取文件,如何在Linux上的目录中读取文件?

我正在尝试在Ubuntu 19.04上的给定目录中读取文件。我打算在标准库中使用directory_iterator。我正在使用CLion IDE,它在目录“ usr / bin / c ++”中使用编译器。我猜这是g ++编译器,我系统中的g ++版本是8.3。我正在使用的C ++版本是C ++ 17。

我能够在Windows 10上的Visual Studio 2017上成功运行代码,但是在使用CLion时,代码在Ubuntu上产生了分段错误错误。以下代码来自cppreference页面中有关directory_iterator的信息。

#include

#include

#include

namespace fs = std::filesystem;

int main()

{

fs::create_directories("sandbox/a/b");

std::ofstream("sandbox/file1.txt");

std::ofstream("sandbox/file2.txt");

for(auto& p: fs::directory_iterator("sandbox"))

std::cout << p.path() << '\n';

fs::remove_all("sandbox");

}

我希望代码可以打印给定文件夹中的文件,但我却得到了Segfault。

该过程以退出代码139(被信号11:SIGSEGV中断)完成。

这个问题背后的原因可能是什么?问题可能与CMake有关吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值