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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
QWAN
58 / 57 / 1
Регистрация: 02.09.2008
Сообщений: 181
#1

Дайте ссылку или пример на интересующий меня вопрос. - C++

10.02.2011, 13:55. Просмотров 1219. Ответов 20
Метки нет (Все метки)

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
28
29
30
31
32
33
//Мне нужно сохранить информацию в массив структур FRAGMENT.
//Сруктура выглит так:
struct  FRAGMENT {
    int counter;        // счетчик, показывает номер фрагмента
    int Size_X;         // размер фрагмента по Х
    int Size_Y;        // размер фрагмента по Y
    char *lpBuffer;        // здесь хранятся символы
};
 
//Я обьявляю указатель на этот массив FRAGMENT.
FRAGMENT *mf;
 
//Дальше есть функция которая должна занести информацию в  мой массив структур.
//я описал эту функцию примерно так:
FRAGMENT *ReadBuffer(FRAGMENT *Buffer)
{
    int x;//как-то считается
    Buffer = new FRAGMENT[x];
    for(int i=0; i<x; i++)
    {
        Buffer[i].counter = i;
        //
        //
        Buffer[i].lpBuffer = new char[number];//number - какоето число
        //дальше вызывается функция которая занесла информацию в Buffer[i].lpBuffer
    }
    return Buffer;    
} 
 
//Вот так использовал функцию
mf = ReadBuffer(mf);
 
//Я уже понял что я что-то не так делаю, подскажите (просто на словах или ссылку на пример) как правильно организовать программу. Где поставить delete и почему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2011, 13:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дайте ссылку или пример на интересующий меня вопрос. (C++):

Дайте ссылку на Dshow - C++
Помогите! Киньте мне силку на dshow.a, никак не могу найти

Дайте ссылку на компилятор C++ - C++
Здравствуйте дайте ссылку на компилятор C++ пожалуйста!

MVC дайте пример - C++
Столько прочитал книг и статей про этот шаблон,прочитал так же про другие шаблоны GoF...все понимаю,а применить не могу:confused: Все...

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

Где найти borland С++, дайте ссылку - C++
Я студент, задали курсач по информатике, программу нужно писать в borland С++. Нигде не могу ее найти, скиньте пожалуйста или ссылку или...

Дайте ссылку, где можно разобраться с табуляцией? - C++
привет. В учебнике только сказано, что 2 символа\t означают табуляцию. погуглил: аналогичная ситуация, в найденных источниках только пишут,...

20
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
10.02.2011, 18:47 #16
Вариант с применением глобальной переменной
int arraySize;
мне понравился, удаляется переменная из структуры.
Это нормальная практика, когда рядом с динамически выделенным массивом лежит его размер.

int lpBufferSize; // MY_EDIT: размер буфера данных
Думаю, это лишняя переменная в структуре, она избыточна, достаточно ширины на высоты и sizeof (CHAR_INFO).
Да, данные возможно рассчитать. На самом деле, это вопрос баланса между производительностью и расходом памяти, на этот счёт некоторые программисты спорят до хрипоты: с одной стороны - лишние 4 байта на каждый элемент массива, с другой - каждый раз рассчитывать, лишние итерации. В данном случае это не критично, поэтому я руководствуюсь рекомендациями Бьерна Страуструпа: писать код, понятный человеку. Мне так было понятнее, но дело ваше .

Добавлено через 6 минут
Попробуйте посмотреть в сторону curses - очень умная библиотека, к тому же кроссплатформенная. Для Windows есть pdcurses.
0
QWAN
58 / 57 / 1
Регистрация: 02.09.2008
Сообщений: 181
10.02.2011, 19:01  [ТС] #17
Думаю чтобы использовать сторонние библиотеки я еще не дорос (мало знаний и опыта). Программирование для меня просто увлечение. Сейчас пытаюсь сделать простой ASCII редактор с панелью инструментов, окнами и каким-то проигывателем ASCII анимации. Заодно осваиваю и практикуюсь в програмировании. Насчет писать кросплатформенные програмки пока только мечтаю, но библиотеку Curses всеравно посмотрю.
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
10.02.2011, 19:33 #18
Да, много же вы мучаться будете, если будете писать ASCII-редактор с панелью инструментов, используя стандарнтый вывод! Тогда вам что-то, кроме curses, просто противопоказано!
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.02.2011, 04:11 #19
Цитата Сообщение от QWAN
1 int lpBufferSize; // MY_EDIT: размер буфера данных

Думаю, это лишняя переменная в структуре, она избыточна
C++
1
2
3
4
5
6
struct  FRAGMENT {
    int counter;        // счетчик, показывает номер фрагмента
    int Size_X;         // размер фрагмента по Х
    int Size_Y;        // размер фрагмента по Y
    char *lpBuffer;        // здесь хранятся символы
};
каким образом программа будет определять, сколько символов хранится в lpBuffer ?
при сохранении символов в lpBuffer, каким образом программа будет определять, что не произошло переполнение lpBuffer ?
0
QWAN
58 / 57 / 1
Регистрация: 02.09.2008
Сообщений: 181
11.02.2011, 10:17  [ТС] #20
Цитата Сообщение от accept Посмотреть сообщение
каким образом программа будет определять, сколько символов хранится в lpBuffer ? при сохранении символов в lpBuffer, каким образом программа будет определять, что не произошло переполнение lpBuffer ?
Уменя пока реализовано так:
C++
1
pBuffer->lpBuffer = new CHAR_INFO [RegionSize.X * RegionSize.Y];
Talis когда исправлял мою програмку, добавил переменную для для определения размера буфера.

Цитата Сообщение от talis Посмотреть сообщение
Это нормальная практика, когда рядом с динамически выделенным массивом лежит его размер. int lpBufferSize; // MY_EDIT: размер буфера данных Думаю, это лишняя переменная в структуре, она избыточна, достаточно ширины на высоты и sizeof (CHAR_INFO). Да, данные возможно рассчитать. На самом деле, это вопрос баланса между производительностью и расходом памяти, на этот счёт некоторые программисты спорят до хрипоты: с одной стороны - лишние 4 байта на каждый элемент массива, с другой - каждый раз рассчитывать, лишние итерации. В данном случае это не критично, поэтому я руководствуюсь рекомендациями Бьерна Страуструпа: писать код, понятный человеку. Мне так было понятнее, но дело ваше . Добавлено через 6 минут.
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
11.02.2011, 11:17 #21
Цитата Сообщение от talis Посмотреть сообщение
Да, много же вы мучаться будете, если будете писать ASCII-редактор с панелью инструментов, используя стандарнтый вывод! Тогда вам что-то, кроме curses, просто противопоказано!
Поддерживаю
0
11.02.2011, 11:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2011, 11:17
Привет! Вот еще темы с ответами:

дайте пожалуйста ссылку где скачать Turbo С++ - C++
дайте пожалуйста ссылку где скачать Turbo С++

Дайте пожалуйста рабочий пример регулярного выражения c++ - C++
Мне нужно что-то типа AnsiString regexp = /&lt;b&gt;(.*)&lt;\/b&gt;/i; AnsiString str = &quot;&lt;b&gt;Hello World!&lt;/b&gt;&quot;; preg_match(str, pegexp, result); ...

Интерфейсы в с++ дайте кто нибудь годный рабочий пример - C++
Суть вопроса: нигде не могу найти рабочий пример использования интерфейсов, то есть когда есть интерфес, есть класс внутри длл-ки и всё это...

У меня вопрос - C++
Почему прога не вычисляет максимальный и минимальный элемент в матрице? Пишет не так Код вроде бы верен, а толку от этого нет ...


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

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

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