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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kNOpk@
2 / 2 / 0
Регистрация: 10.01.2011
Сообщений: 9
#1

удаление "строки" в бинарном файле - C++

24.01.2011, 03:21. Просмотров 692. Ответов 2
Метки нет (Все метки)

есть файл .dat. в нем записаны структуры. я удаляю запись /т е одну из структр/. удаляю записывая на ее место пустую структуру и сохраняю результат во временный файл. но удаляется коряво. удаляет не всю структуру а только ее часть. пример

в файле записано

1 Avt1 nazv1 izd1 1999 123 129.48
2 avt2 nazv2 izd2 1997 144 17.33

после удаления получается вот что
1 Avt1 nazv1 izd1 1999 123 129
.33
почему так получается?
у меня есть только вариант, что это из за неправильной установки курсора
C++
1
fseek(readPtr, (number - 1) * sizeof ( struct home_lib), SEEK_SET);
а его постановка зависит от размера структуры.
структуру объявляю следующим образом
C++
1
2
3
4
5
6
7
8
9
10
struct home_lib
{
   int numer;
   char avtor[5];
   char nazvanie[8];
   char izd_vo[5];
   int god_izd;
   int k_vo_str;
   double cena;
}
спасибо кто откликнется!

Добавлено через 1 час 15 минут
если изменить максимальный размер длин строк, то результат удаления будет уже другой...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 03:21     удаление "строки" в бинарном файле
Посмотрите здесь:

C++ удаление текста в бинарном файле
C++ Удаление записи в бинарном файле
Посчитать, сколько раз написано слово "hello" в файле C++
C++ Удаление подстрок из строки. Суммировать "вес" удаленных строк
C++ Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+"
С++ Создать оконную таблицу для корректировки данных в файле формата ".txt" C++
C++ Замена "," в файле на "."
C++ Ошибка "Error C2064" в файле xutility.h на VS2010
Проверяю, являются ли 4 строки стихом. "й" принимает за "и", тем самым принимает за слог C++
Сохранение изменений в исполняемом файле, "самоизменяющийся" .exe файл C++
C++ Реализовать удаление элемента из пользовательского класса "Двунаправленный список"
C++ Найти запись подстроку в строке в файле до символа "\n" и вернуть её оттуда

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kNOpk@
2 / 2 / 0
Регистрация: 10.01.2011
Сообщений: 9
25.01.2011, 22:09  [ТС]     удаление "строки" в бинарном файле #2
Ну не ужели никто не может помочь???((((((((
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
25.01.2011, 22:51     удаление "строки" в бинарном файле #3
удаление "строки" в бинарном файле
А судя по примеру содержимого файл у Вас больше текстовый. Покажите больше кода, если не можете определить где именно проблема, то желательно весь.
Yandex
Объявления
25.01.2011, 22:51     удаление "строки" в бинарном файле
Ответ Создать тему
Опции темы

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