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

Динамическая память, проблемы с освобождением - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите с задачей пожалуйста http://www.cyberforum.ru/cpp-beginners/thread519649.html
Нужно вывести массив n*n с элементами типа:с плавающей точкой при помощи оператора цикла while. вывести исходное состояние массива при помощи оператора цикла do while. обменять значения строки, в которых находятся наименьший и наибольший элементы. если это одна и та же строка, записать её значения в обратном порядке. вывести результаты обработки массива желательно использовать только...
C++ помогите написать все возможные, эквивалентные данному фрагменты программы, с использованием других операторов цикла for i:=10 downto 1 do a:=(a mod*i)/j;i:=i+1; http://www.cyberforum.ru/cpp-beginners/thread519641.html
Первая программа и уже не работает... C++
Недавно купил книгу по C++, начал изучать...и так получилось, что уже первая программа не работает Код из книги #include <iostream> using namespace std; int main() { cout << "My first program"; return:0; }
C++ Перегнать с паскаля на чистый С
Вот эту програму нужно пергнать с паскаля на чистый С program pr_19; uses CRT; var f,g,d:file of integer; a,s,h,n,i:integer; begin clrscr; assign(f,'input.dat'); assign(g,'vid.dat');
C++ Составление программ на использование двумерных массивов http://www.cyberforum.ru/cpp-beginners/thread519621.html
Написать программу, которая запрашивает размерность двумерного массива, заполняет его случайными числами от 4 до 12 и меняет местами первый и последний столбец массива. Добавлено через 1 час 6 минут upupup
C++ Ошибка структуры о_О void AlgA (ListElem*begin1, ListElem*begin2, ListElem*&begin3) //Составляем третий список из элементов, которые входят в первый и второй { if (!begin1) return; if (!begin2) return; ListElem*curr1 = begin1; ListElem*curr2 = begin2; while (curr1) подробнее

Показать сообщение отдельно
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
15.03.2012, 20:16     Динамическая память, проблемы с освобождением
Всем привет!
Проблема стара как этот мир, но есть некая отличительная черта по которой я создал эту тему.
Задача следующая. Создаю файл и кидаю в него строку, закрываю файл. Далее открываю этот файл и помещаю содержимое файла в динамическую строку. Так вот проблема возникает на третьей итерации при освобождении памяти. Почему так происходит, почему ошибка не выскакивает при первом удалении.
Вот код:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include<iostream>
#include<fstream>
 
int main(void)
{
    std::ofstream newfille("file.doc");
    newfille<<"Барам-бохара, бам-берум!";
    newfille.close();
    setlocale(LC_ALL,"Russian_Russia.1251");
    std::cout<<"Файл записан\n";
    std::ifstream fille("file.doc");
    int ilen=0;
    char* mas=NULL ;
    char ch=NULL;
    do
    {
        fille.get(ch);
        ilen+=fille.gcount();
        if(fille)
        {
            if(!mas)
            {mas = new char[ilen+1];*mas='\0';}
            else
            {
                char* temp = new char[strlen(mas)+1];
                *temp='\0';
                strncpy(temp,mas,strlen(mas)+1);
                delete []mas;
                mas = NULL;
                mas = new char[strlen(temp+2)];
                *mas='\0';
                strncpy(mas,temp,strlen(temp)+1);
                delete []temp;
                temp = NULL;
            }
            mas[ilen-1] = ch;
            mas[ilen]='\0';
            
        }
    }while(fille);
    std::cout<<mas<<std::endl;
    delete []mas;
 
 
 
system("Pause");
return 0;
}
Миниатюры
Динамическая память, проблемы с освобождением  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru