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

Удаление инфы из дискового файла - C++

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.01.2010, 05:03     Удаление инфы из дискового файла #1
Есть файл. Этот файл читается и пишется как типизированный (подозреваю, что к делу это не относится), то есть в качестве указателя на буфер юзится указатель на структуру. Надо из файла удалить одну запись. Как это сделать без использования временного файла ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2010, 05:03     Удаление инфы из дискового файла
Посмотрите здесь:

ошибка в выводе инфы из файла C++
Ошибка, при считывании инфы с файла... C++
Мониторинг дискового пространства C++ Builder
C++ Проверить доступность дискового раздела _getdrives
C++ Получение инфы. из файла с изображением
C++ Функция вычисления длины дискового файла
C++ WinAPI Удаление файла
удаление файла C++ Builder
Почему при записи новой инфы из файла стирается старая? C++
Удаление файла C++ Builder
C++ Удаление файла
C++ Builder Разработка программы мониторинга свободного дискового пространства на компьютерах локальной сети

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
27.01.2010, 20:25     Удаление инфы из дискового файла #2
Через память.
Поднять хвост файла в память.
Записать обратно со сдвигом на 1 элемент обратно.
Обрезать длину файла (уменьшить то есть).
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.01.2010, 06:58  [ТС]     Удаление инфы из дискового файла #3
Цитата Сообщение от odip Посмотреть сообщение
Через память.
Поднять хвост файла в память.
Записать обратно со сдвигом на 1 элемент обратно.
Мне не предпоследний элемент надо удалить.
1. Есть номер записи.
2. По номеру я могу вычислить смещение.
3. Последнюю запись можно скопирожать на место удаляемой записи.
4. После копирожания через относительно маленький буфер удалению подлежит последняя запись.
5. Для этого надо
Цитата Сообщение от odip Посмотреть сообщение
Обрезать длину файла
. Это я и сам знаю, но как это сделать? Я не умею писать длину.
Задача: удалить из файла, исспользуемого в качестве реляционной БД фиксированной структуры в первой нормальной форме, одну запись, дисковый образ которой может оказаться где угодно в пределах файла.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
29.01.2010, 08:33     Удаление инфы из дискового файла #4
Обрезать длину -
chsize();
truncate();
ftruncate();
Yandex
Объявления
29.01.2010, 08:33     Удаление инфы из дискового файла
Ответ Создать тему
Опции темы

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