Загружая файл в вектор

Я хочу загрузить содержимое текстового файла в vector (или в любой итератор ввода 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 chars? Почему не 200, или 25, или что-то в этом роде?), или большое количество строк, которые это заняло. Просто код выглядит очень некрасиво и не-С++. Есть ли более прямой способ сделать это?

19
задан Mankarse 25 July 2016 в 03:18
поделиться