当前位置: 首页 > 知识库问答 >
问题:

如何从文件系统获取std::string或char[]?

公西马鲁
2023-03-14

我有一个循环,运行整个目录,我需要从每个文件获得路径,以便使用它。

这是我的方法

#include <experimental/filesystem>

namespace fs = std::experimental::filesystem;

for (const auto & entry : fs::directory_iterator(sourceDir))
{
    if (fs::is_directory(entry))
        continue;
    StreamRAII iStream{ entry, StreamMode::READ_BINARY };
}
StreamRAII(const std::string& filename, const char *mode);

共有1个答案

融泓
2023-03-14

derectory_entry有一个path()函数,该函数返回保存文件路径名的std::filesystem::path。可以使用它的string()函数从该路径获取std::string。这将使您的代码看起来像

StreamRAII iStream{ entry.path().string(), StreamMode::READ_BINARY };
 类似资料:
  • 我使用expo下载了一张图片(a.jpg),代码如下: 文件成功保存在文件系统中。后来当我试图读取文件时,我得到一个错误,文件无法读取。用于读取文件的代码: 上面的代码返回文件无法读取的错误。fileInfo.exists是true,因为文件存在于文件系统中。 读取文件时出错: 如果我尝试读取一个文本文件(a.json),而不是jpg(a.jpg),那么一切都很好。所以,文件系统。readAsSt

  • 我已经在Ubuntu 14.04上安装了hadoop。每当我将文件从本地文件系统复制到HDFS时,我都会出现以下错误。 我使用这个命令: 我遇到的错误是: 我是Linux环境的新手。我不明白哪个文件不存在。

  • 问题内容: 我允许用户通过拖放和其他方法将图像加载到页面中。放置图像时,我用来转换为对象URL以显示图像。我没有撤消该URL,因为我确实重复使用了它。 因此,当需要创建一个对象时,我可以允许他们上传其中包含其中一个图像的表单,是否可以通过某种方式将该对象URL反向转换为a ,然后可以将其附加到a 宾语? 问题答案: 正如gengkev在上面的评论中所暗示的那样,似乎最好/唯一的方法是使用异步xhr

  • 我允许用户通过拖动将图像加载到页面中 那么,当需要创建一个对象时,我可以允许他们上传一个包含其中一个图像的表单,有没有什么方法可以将该对象URL反转回或,然后将其附加到对象?

  • 问题内容: 我有一个简单的程序,需要显示图像。我知道如何从Eclipse运行代码,也知道如何从JAR文件运行,但是我想要一个在两种情况下都可以使用的解决方案。 Eclipse项目就是这样的: 可在Eclipse中运行的代码段: 适用于JAR的文件(全部在一个JAR文件中): 为了使单个代码在两种情况下都能正常工作,我需要更改什么? 问题答案: 将文件夹放在文件夹中,Eclipse会将图像复制到目标

  • 目标是为每个行添加具有修改时间的列。 鉴于 预期的 我写了一个函数来获取修改时间 修改时间:长=1580708401253 ...但它在查询中不起作用 组织。阿帕奇。火花SparkException:作业因阶段失败而中止:阶段54.0中的任务0失败4次,最近的失败:阶段54.0中的任务0.3丢失(TID 408,srs-hdp-s1.dev.kontur.ru,executor 3):org。阿帕