Я хотел бы загрузить содержимое текстового файла в vector<char>
(или в любой итератор ввода char, если это возможно). В настоящее время мой код выглядит следующим образом:
std::vector<char> vec;
std::ifstream file("test.txt");
assert(file.is_open());
while (!(file.eof() || file.fail())) {
char buffer[100];
file.read(buffer, 100);
vec.insert(vec.end(), buffer, buffer + file.gcount());
}
Мне не нравится ручное использование буфера (почему 100 символов? Почему не 200, или 25 или что-то еще?) или большое количество строк, которые это взяли. Код просто кажется очень уродливым и не-С++. Есть ли более прямой способ сделать это?