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

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

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

Динамический ввод строки - C++

14.02.2014, 22:31. Просмотров 729. Ответов 2
Метки нет (Все метки)

Решил на будущее написать программу динамического ввода. Судя по выводу, где-то произошла утечка памяти(в выводе появляется 3 квадратика в конце). Все перепробовал, не знаю как решить

C++ (Qt)
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
#include <iostream>
using namespace std;
 
unsigned char* newHeap(unsigned char* oldMass,int oldCount,unsigned char ch){
    unsigned char* newHeap=new unsigned char[oldCount+1];
    for(int i=0;i<oldCount;i++)
        newHeap[i]=oldMass[i];
    newHeap[oldCount]=ch;
    return newHeap;
}
 
int main(){
    unsigned char* str ={0};
    int count = 0;
    //bool tog = true;
    unsigned int charID;
    charID=cin.get();
 
    while(charID!='\n'){
        str=newHeap(str,count,(unsigned char)charID);
        count++;
        charID=cin.get();
    }
 
    cout<<str<<endl;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 22:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Динамический ввод строки (C++):

Динамический ввод строки - C++
Напишите пожалуйста. Нужно чтобы из клавиатуры вводилась строка. Если строка больше 10 символов, всё остальное удаляется И заносится...

Динамический ввод строки - C++
замените ввод на динамический #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #define sn 100 // максимальное...

Ввод строки в динамический массив - C++
Здравствуйте! Помоги пожалуйста разобраться со следующим: Как с клавиатуры ввести строковый литерал в символьный массив, расположенный...

Динамический ввод - C++
задача стоит такая, чтобы человек посимвольно вводил предложение. вопрос: как сделать не фиксированный размер предложения (char/string)?...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: &quot;Добавить строки, начиная...

Динамический ввод функции - C++
Есть необходимость создать ввод функции в консоль. На данный момент присутствует такая идея:так как в функции несколько составляющих, то...

2
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
14.02.2014, 22:39 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
unsigned char* newHeap(unsigned char* oldMass,int oldCount,unsigned char ch){
    unsigned char* newHeap=new unsigned char[oldCount+2];//+1 для терминального нуля
    for(int i=0;i<oldCount;i++)
        newHeap[i]=oldMass[i];
    newHeap[oldCount]=ch;
    newHeap[oldCount+1]=0; // вот сюда его надо добавить
    return newHeap;
}
1
Aratori
0 / 0 / 0
Регистрация: 10.06.2013
Сообщений: 16
14.02.2014, 22:47  [ТС] #3
Спасибо. Теперь ясно, что к чему.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 22:47
Привет! Вот еще темы с ответами:

Динамический массив. Ввод размерности с клавиатуры - C++
Вечер добрый. Прошу помощи у Вас. Суть просьбы : создать динамический массив(квадрат) с размерностью n, n (вводится с клавиатуры)....

Динамический массив строк. Ввод / вывод - C++
Доброго времени суток!=) Помогите разобраться. Пишу функцию удаления строки из файла. организовал следующим образом, записал все что есть в...

Ввод данных в динамический массив структур - C++
Помогите правильно написать функцию - сколь не пробовал, не получается - getinfo(), которая требует ввода данных о студентах. Она...

Ввод данных в динамический массив из файла - C++
В задаче написано: введение данных в динамический массив делать из файла. Как это?


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

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

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