Первичный индекс реализации записи переменной длиныC++

Программы на C++. Форум разработчиков
Anonymous
Первичный индекс реализации записи переменной длины

Сообщение Anonymous »

Я пытался реализовать первичный индекс для файла данных, который имеет запись переменной длины, указанную индикатором длины и разделителем полей, например. lengthindicatorid|name|gpa 14001|raghad|3.5 ..и так далее
Основной индекс принимает идентификатор и смещение в байтах записи, поэтому, когда я ищу определенную запись, используя идентификатор, первичный индекс возьмет смещение в байтах рядом с идентификатором и попытается получить его с помощью файла данных. Как я могу сделать это с помощью C++?
Я реализовал код, который добавляет доктора и рассчитывает его позицию записывать так что я беру его с идентификатором в индексном файле (смещение), чтобы помочь мне получить запись, когда я хочу ее найти, логика правильна, и операция аналогична функции поиска, ну, она извлекает целевую запись, но смещение рассчитывается неправильно для каждой записи, хотя она рассчитана неправильно, эта запись извлекается правильно!
Мы не смогли справиться с этой проблемой, мы пытаемся решить ее третий день, надеемся на вашу помощь.
Это код addDoctor с позиционной логикой
void HealthcareManagementSystem::addDoctor(const string& DoctorID, const string& name, const string& Address) {
// Проверяем, существует ли врач, используя бинарный поиск по первичному индексу
if (binarySearch( DoctorPrimaryIndex, DoctorID) != -1) {
cout

Подробнее здесь: https://stackoverflow.com/questions/792 ... ementation

Вернуться в «C++»