Не читаются все данные из файла

Не знаю как записать имя и фамилию в разные поля класса, типа string. Читаю из бинарного файла. На данный момент записывает только первое, а именно имя (т.к. в буфер читается из файла только одно имя, фамилия в сам буфер buf - не приходит).

#include <fstream>

using namespace std;

class reader_info {
public:

void print_readers() {
    cout << name <<"\t"<< surname << endl;
}
void out_all_readers() {
    ifstream file;
    file.open("data_base.txt");
    reader_info reader;
    if (file.is_open()) {
        system("cls");
        size_t len = 0;

        while (file.read((char*)&len, sizeof(len))) {
            char* buf = new char[len];         // Выделение буфера для чтения
            file.read(buf, len);  
            
            delete[]buf;
            reader.print_readers();
            
        }
        
    }else cout << "[ERROR] Не могу открыть файл!" << endl;
    
    file.close();
}

private:
    string name = "",
        surname = "",
        books = "";
    int book_count = 0;

};

Ответы (0 шт):