С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 25.02.2007
Сообщений: 37
1

Вопрос по реализации буфера

18.08.2008, 13:45. Показов 1566. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Я все продолжаю свои мытарства в текстовым редактором и добрался вот до самого вкусного - как реализовать буфер и работу с ним. Но до работы еще далеко, пока пытаюсь заставить его работать.
Сейчас я пробую сделать его в виде массива типа vector. Сначала была идея сделать что-то типа vector<vector <char>>, но я не смог разобраться, каким образом изменять размер внутреннего вектора, и получился облом.
Вследствии этого возникает вопрос - либо как это сделать, либо может есть стандартный двумерный массив, в котором можно изменять размеры всех массивов?
Ну или просто посоветуйте, куда копать, а то я как-то растерялся
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2008, 13:45
Ответы с готовыми решениями:

вопрос по реализации на C++
Условие: собственно сам вопрос: каким образом записать информацию о двух сотрудниках в одной...

вопрос по реализации ассоциативного контейнера
здравствуйте. есть задание по курсовой: Реализовать класс ассоциативного контейнера, хранящий пары...

Отделение интерфейса от реализации класса: компиляция кода реализации
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса....

Вопрос по способу реализации
Вопрос по способу реализации на VS C# 2008. Значит задумка такая у меня. из файла формата .csv,...

5
10 / 3 / 7
Регистрация: 25.03.2008
Сообщений: 50
20.08.2008, 16:16 2
Изложи подробно суть проблемы, в особенности поясни зачем понадобился именно двумерный буфер.

Не до конца понял суть проблемы, но если нужен двумерный массив с переменными размерами могу посоветовать следующую структуру:
C++
1
2
3
4
5
6
struct buff
{
size_t size; //размер внутреннего буфера
void* body; //тело внутреннего буфера
Type type; //enum по которому идентифицируешь тип данных в body
};
а дальше
C++
1
std::vector<buff> buffer;
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
20.08.2008, 18:26 3
я так понял надо стандартное меню, типа Copy, Past и тд?
0
0 / 0 / 0
Регистрация: 25.02.2007
Сообщений: 37
20.08.2008, 18:40  [ТС] 4
пишу я консольный текстовый редактор. И понадобился двумерный массив для того, что бы редактировать файл, т.е. загнал данные в массив, в массиве их обработал, потом перезаписал в файл.
Переменные размеры нужны для того, что бы не транжирить память, потому как сделать двумерный массив фиксированной длины - ну совершенно не проблема, как и организовать построчную запись в него данных из файла (в настоящий момент оно так и есть, массив типа char)
по пути кстати возникли еще какие-то неясные проблемы с winuser.h
попробовал сделать тестовый вариант функции, котороя будет отвечать за обработку нажатых пользователем клавиш при редактировании содержимого файла.
код самой функции такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void test_func()
    {
        if(WM_KEYDOWN)
        {
            switch (wParam):
                case VK_LEFT:
                    {
                        cout << "Left arrow";
                        break;
                    }
                case VK_RIGHT:
                    {
                        cout << "Left arrow";
                        break;
                    }
                case VK_UP:
                    {
                        cout << "Up arrow";
                        break;
                    }
                case  VK_DOWN:
                    {
                        cout << "Down arrow";
                        break;
                    }
        }
    }
при поптыке компиляции выдает 13 ошибок, приводит их не буду что бы не загромождать, но все - только на winuser.h
как-то мне боязно его править, если честно )
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
20.08.2008, 19:21 5
и все таки приведите ошибки, просто юзайте тег CODE
0
0 / 0 / 0
Регистрация: 25.02.2007
Сообщений: 37
21.08.2008, 16:12  [ТС] 6
ошибки следующие:
Код
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(42) : error C2146: syntax error : missing ';' before identifier 'HDWP'
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(42) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(42) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(43) : error C2146: syntax error : missing ';' before identifier 'MENUTEMPLATEA'
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(43) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(43) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(50) : error C2146: syntax error : missing ';' before identifier 'LPMENUTEMPLATEA'
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(58) : error C2065: 'CALLBACK' : undeclared identifier
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(58) : error C2065: 'WNDPROC' : undeclared identifier
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(58) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h(58) : fatal error C1903: unable to recover from previous error(s); stopping compilation
0
21.08.2008, 16:12
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.08.2008, 16:12
Помогаю со студенческими работами здесь

Текстурирование 2D полигона: вопрос реализации
Всем доброго времени суток, я довольно много работал с 2D графикой, но в основном со спрайтами. Я...

RTX вопрос по реализации задержек
Раньше использовал для задержек в задачах функцию os_itv_set - интервал запуска задачи. Сейчас за...

Вопрос по реализации вывода ошибок
Здравствуйте. Подскажите как реализовывать обработку ошибок. Например, неправильный аргумент для...

Пористая заготовка: вопрос реализации
Народ, помогииииииииииииите! Нужно очень-очень срочно сделать программку. Я не знаю с какого бока...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­х­р­о­н­н­ы­й счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru