我是新的C++和想要做以下的事情:考虑一个txt文件,看起来像这样的例子:TXT文件,字符数组和字符数组为TXT文件
+-+-+-+-+
+-+-o-+-o
+-o-+-+-+
+-+-+-+-+
现在我想把这个文件的内容复制到一个相同大小的数组中,然后做另一件事。感谢您的帮助,解释您的答案会更惊人:)
我是新的C++和想要做以下的事情:考虑一个txt文件,看起来像这样的例子:TXT文件,字符数组和字符数组为TXT文件
+-+-+-+-+
+-+-o-+-o
+-o-+-+-+
+-+-+-+-+
现在我想把这个文件的内容复制到一个相同大小的数组中,然后做另一件事。感谢您的帮助,解释您的答案会更惊人:)
使用内置数组来处理可变大小的东西有点棘手。简单的方法是使用合适的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));
好像看起来相当容易,一旦你知道该怎么做,谢谢你的帮助:) – user3839833
您是否也可能知道在使用std :: copy(array.begin(),array.end,std :: ostreambuf_iterator
可以写入的字符没有限制。如果您想限制您需要限制来源的字符数量。 –
SO不是代码编写论坛。 **描述你遇到的问题,你对问题的理解是什么以及你在哪里感到困惑**。添加一些代码会更加惊人 – arainone
查看文档:http://en.cppreference.com/w/cpp/io – shuttle87