|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Класс редактирования данных. Нужны советы по реализации
Есть задача: написать класс, позволяющий редактировать данные в памяти. Указатель на данные и их начальный размер передаются в конструктор. Редактирование, на первый взгляд, тривиальное и реализуется тремя методами класса:
Код:
void Change(unsigned long StartByte, const void *NewData, unsigned long DataSize); void Delete(unsigned long StartByte, unsigned long Size); void Insert(unsigned long StartByte, const void *Data, unsigned long DataSize); Представим, есть объект класса с переданным ему для редактирования блоком данных. Допустим, у нас произошел последовательный вызов таких методов: Код:
Insert(5, MyData, 10); // Вставляем между 4-ым и 5-ым байтами 10 байтов MyData. Delete(7, 2); * * * * *// Удаляем 7-ой и 8-ой байты. Delete(4, 10); * * * * // Удаляем с 4-го по 13-ый байты. Код:
Delete(4, 2); Код:
unsigned long GetData(void *Buffer, unsigned long BufferSize); Ах, да! Чуть не забыл главное условие: никаких стандартных и, уж тем более, сторонних библиотек. Только "чистый" C++ и WinAPI. |