Форум программистов, компьютерный форум CyberForum.ru

Удаление записи в бинарном файле - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
ilovevodka
0 / 0 / 0
Регистрация: 19.08.2009
Сообщений: 3
22.12.2009, 19:59     Удаление записи в бинарном файле #1
Доброго времени суток, уважаемые. По заданию надо удалить запись из бинарного файла, скажите, есть ли какая-либо функция для этого?
Запись происходит так:
C++
1
2
3
ofstream f;
f.open("base", ios::binary | ios::app);
f.write((char*)&z, sizeof z);
где z - это структурка:
C++
1
2
3
4
5
struct z
{
cahr a[15];
char b[15];
};
Структурок несколько и все пишутся в файл, задача состоит в том чтобы удалить определённую запись, предварительно конечно найти её с помощью цикла strcmp и f.read((char*)&z, sizeof z).

З.Ы. Если нет стандартной функции, то, полагаю, надо перезаписывать файл с пропуском нужной записи. Тогда напишите, пожалуйста, примерный алгоритм этого процесса.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 19:59     Удаление записи в бинарном файле
Посмотрите здесь:

C++ удаление текста в бинарном файле
удаление "строки" в бинарном файле C++
C++ Считывание координат в бинарном файле
C++ Поиск в бинарном файле
УТПФ в бинарном файле C++
C++ Структура в бинарном файле
C++ Сортировка данных в бинарном файле
C++ поиск в бинарном файле

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
22.12.2009, 21:53     Удаление записи в бинарном файле #2
Примерно так:
Открыть входной файл
Открыть выходной файл
В цикле читаем по одной записи из входного файла
Если запись нам подходит (то есть ее нужно оставить) то пишем ее в выходной файл
Закрыть входной файл
Закрыть выходной файл

В конце в выходном файле у нас все ненужные записи будут отсутствовать
Yandex
Объявления
22.12.2009, 21:53     Удаление записи в бинарном файле
Ответ Создать тему
Опции темы

Текущее время: 15:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru