![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
shaukote |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 13.2.2013 Репутация: нет Всего: нет |
Всем доброго времени суток.
Встала у меня задача заполнить бинарный файл структурами по возрастанию (некоторого поля). Соответственно понадобилось как-то вставлять записи в файл. Я написал довольно очевидный, вроде бы код:
Однако пресловутая функция shift() не работает, увы. То есть она не то, чтобы не сдвигает записи в файле, она вообще его не меняет. Буду рад, если кто-нибудь ткнёт меня носом в проблему, поскольку я её найти не могу. ![]() UPD Слегка модифицировал функцию shift(), добавил, так сказать, отладочный вывод, чтобы понять, что вообще происходит:
Получил, что указатель в файле движется так: 4->5->5 3->4->5 2->3->4 То, есть он вроде передвигается как надо (но на последнем - пятом - элементе почему-то не сдвигается в третий раз), но никакие изменения в файл не вносятся. ![]() Это сообщение отредактировал(а) shaukote - 24.4.2013, 00:30 |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Потоки плохо переваривают непосредственный переход от чтения к записи:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
shaukote |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 13.2.2013 Репутация: нет Всего: нет |
feodorv, спасибо, помогло.
Скажите, а есть какое-то объяснение у такого, кхм, "явления"?.. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Насколько я помню, какие-то проблемы с буферизацией (буфер на чтение и на запись один и тот же).
Это сообщение отредактировал(а) feodorv - 25.4.2013, 20:00 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
shaukote |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 13.2.2013 Репутация: нет Всего: нет |
feodorv, ясно, спасибо.
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |