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

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

Войти
Регистрация
Восстановить пароль
 
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
#1

Как организовать буффер переменной длины? - C++

13.11.2009, 21:00. Просмотров 681. Ответов 5
Метки нет (Все метки)

Есть задача - отправлять в ком порт файл. Коней пакета 7E/ если в середине пакета находится символ 7Е - приемник смотрит перез ним контрольную сумму и выдает оштбку. поэтму в протоколе 7Е меняется на 7D 5E FA. но сколько замено надл сделать - неизвестно. нужен буффер переменнлй длины в зависимлсти от числа замен. Пробовал Buff[ 100+a] - где a количество добавочных байтов. Ругается компилятор. Если кто в курсе подскажите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2009, 21:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как организовать буффер переменной длины? (C++):

Как организовать проверку на ввод определенных букв переменной string? - C++
Добрый день, не могу организовать проверку на ввод определенных букв переменной string. Необходимо, чтобы в переменную temp записывались...

массив переменной длины - C++
Как в С++ сделать массив переменной длины (увеличивающийся), чтобы сохранялись хранящиеся там данные? Покопался, но нигде не могу найти. ...

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

Функцию со списком аргументов переменной длины, подсчитать произведение чисел - C++
ПОМОГИТЕ Написать программу, содержащую функцию со списком аргументов переменной длины. В функции необходимо подсчитать произведение...

Буффер из std::string c_str() - C++
Здравствуйте! такое дело: Проект на Qt5 и С++11. Есть форма с полем ввода. Введённое содержимое должно обработаться отдельным потоком...

Часть имени переменной как значние другой переменной - C++
Нужно чтобы имя переменной состояло как бы из двух частей к примеру переменную x1 надо записать так чтобы число 1 было в другой...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
13.11.2009, 21:21 #2
при объявлении переменную юзать нельзя кажется)
ты можешь юзать функцию realloc для изменения размера буфера
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
13.11.2009, 21:31  [ТС] #3
а можно пример использования? увеличить Buff на a байт
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
13.11.2009, 21:44 #4
C
1
2
char* buffer = malloc(100);
buffer = realloc(buffer,200);
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
13.11.2009, 22:05  [ТС] #5
ругается. cant convert void to char
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
13.11.2009, 22:19 #6
Код выше для Си, а ты, видимо, компилируешь на С++, который не умеет автоматом приводить тип, возвращаемый malloc / realloc.
Для переносимости:
C
1
2
char* buffer = (char *) malloc(100);
buffer = (char *) realloc(buffer,200);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2009, 22:19
Привет! Вот еще темы с ответами:

Списки аргументов переменной длины, эти аргументы должны быть исключительно типа "int"? - C++
Действительно: #include <stdio.h> #include <stdarg.h> int foo (char* k,...) { va_list ap; va_start (ap, k); char x=...

Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае - C++
Условие задачи: переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае. Исходные...

a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b - C++
даны произвольные числа a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b.

Из элементов массива А длины 2N получить массивы В и С длины N указанным способом - C++
Из элементов массива А длины 2N получить массивы В и С длины N каждый следующим образом. Выбрать в массиве А два наиболее близких по...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.11.2009, 22:19
Ответ Создать тему
Опции темы

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