2016-01-23 92 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

可以寫入的字符沒有限制。如果您想限制您需要限制來源的字符數量。 –