Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

24.01.2011, 03:21. Просмотров 768. Ответов 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 минут
если изменить максимальный размер длин строк, то результат удаления будет уже другой...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 03:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление "строки" в бинарном файле (C++):

Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*". - C++
Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*". Групой...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль", "один"..."девять",...

Удаление подстрок из строки. Суммировать "вес" удаленных строк - C++
Думаю, что задача стандартная, и известна большинству программистам: Дана строка s, а также набор подстрок, которые можно удалять из...

Удаление текста в бинарном файле - C++
Пишу на C. Создаю бинарный файл. Записываю в него данные, например, 12345 Мне нужно удалить определенный символ, например 3. С помощью...

Удаление записи в бинарном файле - C++
Доброго времени суток, уважаемые. По заданию надо удалить запись из бинарного файла, скажите, есть ли какая-либо функция для этого? ...

2
kNOpk@
2 / 2 / 0
Регистрация: 10.01.2011
Сообщений: 9
25.01.2011, 22:09  [ТС] #2
Ну не ужели никто не может помочь???((((((((
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.01.2011, 22:51 #3
удаление "строки" в бинарном файле
А судя по примеру содержимого файл у Вас больше текстовый. Покажите больше кода, если не можете определить где именно проблема, то желательно весь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2011, 22:51
Привет! Вот еще темы с ответами:

Может ли MSXML в XML файле найти все вхождения "123" в значениях атрибутов элементов и заменить их на "321"? - C++
Всем доброго времени суток. Столкнулся со странноватой задачей, но что-то застрял с ней, т.к. использую либу MSXML. Собственно смыл:...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

В текстовом файле заменить все лова начинающиеся с буквы "а" на первое место, которое начинается с буквы "с" - C++
ЗАВТРА ЭКЗАМЕН И НЕ РЕШИЛА ЭТУ ЗАДАЧУ! НЕ ЗНАЮ КАК! ели знаете как ее решить-решите, очень надо! В текстовом файле заменить все лова...

"вставка" с "заменой" текста в файле. - C++
Здравствуйте. Решил для обретения бесценного опыта написать свой простенький парсер конфигов. Вообщем читает вполне себе читает...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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