2016-01-23 95 views
-3

我是新的C++和想要做以下的事情:考虑一个txt文件,看起来像这样的例子:TXT文件,字符数组和字符数组为TXT文件

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

现在我想把这个文件的内容复制到一个相同大小的数组中,然后做另一件事。感谢您的帮助,解释您的答案会更惊人:)

+5

SO不是代码编写论坛。 **描述你遇到的问题,你对问题的理解是什么以及你在哪里感到困惑**。添加一些代码会更加惊人 – arainone

+0

查看文档:http://en.cppreference.com/w/cpp/io – shuttle87

回答

2

使用内置数组来处理可变大小的东西有点棘手。简单的方法是使用合适的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)); 
+0

好像看起来相当容易,一旦你知道该怎么做,谢谢你的帮助:) – user3839833

+0

您是否也可能知道在使用std :: copy(array.begin(),array.end,std :: ostreambuf_iterator (out))时是否存在1024个字符的限制。将数组的内容复制到我的文件中?看起来就是这样,到目前为止我还没有发现有关这方面的信息。 2048将是绰绰有余我猜 – user3839833

+0

可以写入的字符没有限制。如果您想限制您需要限制来源的字符数量。 –