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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран числа следующим образом http://www.cyberforum.ru/cpp-beginners/thread1125158.html
Вывести на экран числа следующим образом (с помощью трех циклов: for, while, do): 41 42 43 … 50 51 52 53 … 60 61 62 63 … 70 … 71 72 73 … 80 Помогите с кодом...
C++ Как пользоваться функцией rand()? Все привет. Пытаюсь пользоваться функцией rand(), а получаю сообщение идентификатор "rand" не определён Это разве идентификатор? #include "stdafx.h" #include "time.h" #include "GL/glut.h" http://www.cyberforum.ru/cpp-beginners/thread1125149.html
Графика с++ C++
DevC++ пользуюсь, подскажите что лучше всего будет для графики в с++, скачал борланд compile и не знаю как компилировать с помощью него(
C++ чтение из файла. как ускорить
доброго времени суток! необходим совет, а именно, как ускорить чтение из файла. мне нужно хранить в массиве поток бит(большой, несколько Гб), и читать файл порциями(несколько мегабайт). и так как объемы данных большие, то каждый бит важен) и поэтому храню все в unsigned __int32, используя каждый из 32-битов, каждого инта. ниже то, что я набросал, может посоветуете что... #include <iostream>...
C++ Сортировка слов по их длине http://www.cyberforum.ru/cpp-beginners/thread1125102.html
Ввести строку. На печать выдать новую строку в которой все слова расположены в порядке возрастания длин слов.
C++ Sound(); Подскажите что подключать и как использовать, Юзаю DevC++. подробнее

Показать сообщение отдельно
Lahden
1 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 52
20.03.2014, 19:14     Удаление записи из бинарного файла
Задача - удалить запись из бинарного запись по имени
find находит запись, которую нужно удалить
cur - текущая позиция
del - удаляемая запись
осталось переписать записи, но вылетает ошибка (насколько понимаю, проблемы с памятью)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    m_r = find (name);
    if(!m_r)
        return false;
    long cur (_tell (m_f));
    long del (cur - m_r -> getLen());
    long offset = LS;
    char* s = new char[1];
    short len;
    while (_read (m_f, &len, LS))
    {
        delete s;
        s = new char [len];
        _lseek (m_f, -offset, SEEK_CUR);
        _read (m_f, s, len);
        cur = _tell (m_f);
        _lseek (m_f, -(cur-del), SEEK_CUR);
        _write (m_f, s, len);
        del = _tell (m_f);
        _lseek (m_f, (cur-del), SEEK_CUR);
    }
    m_n--;
    _chsize(m_f, SEEK_CUR);
    return true;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru