我是新的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