How to read a file into a vector elegantly and efficiently?
问题 #include <fstream> #include <vector> #include <algorithm> #include <iterator> using namespace std; vector<char> f1() { ifstream fin{ "input.txt", ios::binary }; return { istreambuf_iterator<char>(fin), istreambuf_iterator<char>() }; } vector<char> f2() { vector<char> coll; ifstream fin{ "input.txt", ios::binary }; char buf[1024]; while (fin.read(buf, sizeof(buf))) { copy(begin(buf), end(buf), back_inserter(coll)); } copy(begin(buf), begin(buf) + fin.gcount(), back_inserter(coll)); return coll