задрот в различнейших областях
c++, первый курс.
Пожалуйста,
Мне нужно из бинарного файла удалить запись, используя только объявленную структуру.
Нам предлагали перезаписать: считать структуру, если строка фамилии совпадает с введенной, заменить структуру следующей.
Но даже так что-то не идет.
Можно ли перезаписать ненужную структуру так, чтобы на ее месте было пусто.
В море код целиком
Пожалуйста,
Мне нужно из бинарного файла удалить запись, используя только объявленную структуру.
Нам предлагали перезаписать: считать структуру, если строка фамилии совпадает с введенной, заменить структуру следующей.
Но даже так что-то не идет.
Можно ли перезаписать ненужную структуру так, чтобы на ее месте было пусто.
В море код целиком
вы используете здесь вектор, поэтому можно открыть файл, считывать оттуда по одной записи, при этом проверяя, равно ли поле фамилии ведённой. Если не равно, то добавить в вектор, иначе нет. После того,как дошли до конца файла,закрываем его, потом создаём заново или урезаем до нулевой длины и записывам туда содержимое вектора.
Также для сравнения введённой фамилии и имеющейся могу посоветовать использовать функцию strcmp() из cstring.
про сравнение - спасибо, посмотрю
сейчас выяснилось, что можно использовать временный файл, что легче, осталось только узнать как потом этот временный файл удалить )
пишет
error C2664: 'DeleteFileW' : cannot convert parameter 1 from 'const char [12]' to 'LPCWSTR'