【问题标题】:TXT file to char array and char array to TXT file [closed]TXT 文件到 char 数组和 char 数组到 TXT 文件 [关闭]
【发布时间】:2016-01-23 19:40:01
【问题描述】:

我是 C++ 新手,想做以下事情:考虑一个 txt 文件,例如:

+-+-+-+-+
+-+-o-+-o
+-o-+-+-+
+-+-+-+-+

现在我想获取这个文件的内容并将其复制到一个相同大小的数组中,然后做其他事情。谢谢你的帮助,解释你的答案会更加神奇:)

【问题讨论】:

  • SO 不是代码编写论坛。 描述您遇到的问题,您对问题的理解是什么以及您感到困惑的地方。添加一些代码会更加神奇

标签: c++ arrays file-io


【解决方案1】:

对可变大小的事物使用内置数组有点棘手。简单的方法是改用合适的std::vector<char>

std::ifstream in(from_filename);
std::vector<char> array{std::istreambuf_iterator<char>(in),
                        std::istreambuf_iterator<char>()};

// ...
std::ofstream out(to_filename);
std::copy(array.begin(), array.end(),
          std::ostreambuf_iterator<char>(out));

【讨论】:

  • 看起来很简单,一旦你知道该怎么做,谢谢你的帮助:)
  • 您是否也知道使用 std::copy(array.begin(), array.end, std::ostreambuf_iterator(out) 时是否有 1024 个字符的限制);将数组的内容复制到我的文件中?看起来确实如此,到目前为止我还没有找到任何关于它的东西。我猜 2048 已经足够了
  • 可写入的字符没有限制。如果要限制字符数,则需要限制来源。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-20
  • 1970-01-01
  • 2016-10-02
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多