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

Работа с динамическими строками - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти максимальный элемент матрицы http://www.cyberforum.ru/cpp-beginners/thread106301.html
помогите найти максимальный элемент матрицы.Оформить в виде функции
C++ Наследование Помогите доделать прогу... Нужно сделать иерархию классов студент и отец -> семейство Почти все сделано..но с ошибками=( и без инициализации #include <iostream> #include <string.h> #include... http://www.cyberforum.ru/cpp-beginners/thread106290.html
C++ Тема: «Указатели»
Чет я совсем запарился мозги не робят осталось 2 задачи сделать помогите пожалуйста, заранее спс 1) Составить функцию вычисления среднего значения элементов вещественного одномерного массива....
C++ Поменять местами максимальный и минимальный элементы
А вот ету задачку поможете решить????? Поменять местами максимальный и минимальный элементы.
C++ Ввод и вывод данных,оператор присваивания http://www.cyberforum.ru/cpp-beginners/thread106242.html
Возможо я написал это не в той теме.Задачи простые,но я на них запоролся. 1)Даны катеты прямоугольного треугольника a и b.Найти его гипотенузу С и периметр. 2)Даны два круга с общим центром и...
C++ Вывод в таблицу (не БД) Здравствуйте, други форумчане! Подскажите, как произвести вывод данных в таблицу вордовского типа, ну или чтобы открывалась вордпадом.. В общем, как сделать файлик текстового типа с табличкой... подробнее

Показать сообщение отдельно
Suslik73
2 / 2 / 1
Регистрация: 11.10.2009
Сообщений: 52

Работа с динамическими строками - C++

18.03.2010, 22:41. Просмотров 528. Ответов 0
Метки (Все метки)

Итак, мне нужны 2 процедуры: 1.добавление символа в конец динамической строки и 2.удаление символа из конца динамической строки. Первая работает правильно:
C++
1
2
3
4
5
6
7
8
9
10
11
void addToEnd(char newC, char *&data, int size) {
    
    char *newData = new char[size + 2];
    memmove(newData, data, size * sizeof(char));
    newData[size] = newC;
    newData[size + 1] = 0;
    if (data != NULL) {
        delete data;
    }
    data = newData;
}
а процедура удаления работать правильно отказывается. В чем дело, народ?? что не так:
C++
1
2
3
4
5
6
7
8
9
10
void delFromEnd(char *&data, int &size) { 
    char *newData = new char[size];
    memmove(newData, data , (size - 1) *  sizeof(char));
    newData[size - 1] = 0;
    if (data != NULL) {
        delete data;
    }
    data = newData;
    size--;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru