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

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

Войти
Регистрация
Восстановить пароль
 
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
#1

Ошибка при записи данных в файл - C++

06.09.2012, 18:12. Просмотров 452. Ответов 2
Метки нет (Все метки)

Для записи перменной типа string выделяю динамически массив из 64 элементов char,после записи данных освобождаю память,но почему-то при освобождении вылетает ошибка
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
49
50
51
52
53
bool SaveData(vector<Subscriber> &subscribers)
{
    //
    if(access("C:\\Subscribers\\list.txt",0) == -1)
        CreateDirectory(L"C:\\Subscribers\\",NULL);
 
    //
    fstream SubscribersList("C:\\Subscribers\\list.txt",ios::out | ios::binary);
 
    //
    if(!SubscribersList.is_open())
            return false;
 
    for(unsigned int i = 0;i < subscribers.size();i++)
    {
        //
        //
        int number[10];
 
        vector<int> _number = subscribers.at(i)._subscriber_number;
 
        for(int j = 0; j < 10;j++)
        {
            number[i] = _number.at(j);
        }
 
        SubscribersList.write(reinterpret_cast<char *>(number),10*sizeof(int));
        //
 
        //
        //
        char *name = new char[64];
 
        name = const_cast<char *>(subscribers.at(i)._subscriber.c_str());
 
        SubscribersList.write(name,64*sizeof(char));
        //
 
        //
        //
        SubscribersList.write(reinterpret_cast<char *>(&subscribers.at(i).LastCreditAdd.day),   sizeof(unsigned int));
        SubscribersList.write(reinterpret_cast<char *>(&subscribers.at(i).LastCreditAdd.month),sizeof(unsigned int));
        SubscribersList.write(reinterpret_cast<char *>(&subscribers.at(i).LastCreditAdd.year)sizeof(unsigned int));
        SubscribersList.write(reinterpret_cast<char *>(&subscribers.at(i).LastCreditAdd.hour)sizeof(unsigned int));
        SubscribersList.write(reinterpret_cast<char *>(&subscribers.at(i).LastCreditAdd.minute),sizeof(unsigned int));
        SubscribersList.write(reinterpret_cast<char *>(&subscribers.at(i).LastCreditAdd.second),sizeof(unsigned int));
        //
 
        delete []name;
    }
 
    return true;
}
0
Миниатюры
Ошибка при записи данных в файл  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2012, 18:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при записи данных в файл (C++):

Ошибка при записи в файл данных из обьекта класса - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; class Vector { public: double x; ...

Ошибка при записи в файл - C++
Помогите добить задачку на С++. В общем прога работает правильно вот только когда идет запись в файл, то в файле находятса не данные...

Ошибка при записи в файл - C++
помогите, вылетает ошибка при записи в файл ф-я void add_in_file(int n) что не так? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Ошибка при записи в бинарный файл - C++
Задание - записать в бинарный файл последовательность из N байт вида &quot;00001111 11110000 00001111 ...&quot;. Почему-то 11110000 записывается...

Ошибка при записи в файл через библиотеку io.h - C++
Приветствую всех! Пишу программу, в которой необходимо записывать информацию в файл. Для этого использовал функцию _write из библиотеки...

Ошибка при записи или чтении в бинарный файл - C++
Есть такие вот типы данных: struct Nomer { int n, tsena1Deni; string klass; int kMest, kZaselenii; bool svoboden; Nomer...

2
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2012, 18:22 #2
В 34 строке name на что будет указывать? Никак не на массив, который создан в 32 строке.
1
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
06.09.2012, 18:33  [ТС] #3
точно,спасибо за замечание
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2012, 18:33
Привет! Вот еще темы с ответами:

Напишите функции записи данных в файл, чтения данных из файла - C++
Файл dаte.in содержит четырех значное число на каждой строке. Напишите функции записи данных в файл, чтения данных из файла. Напишите...

Ошибка записи в файл. :( - C++
Доброго времени суток дорогие форумчане. Решил написать программу которая считывает символы из одного файла (&quot;C:\\1.txt&quot;) в массив...

Баг при использовании класса string при записи в бинарный файл - C++
При записи в бинарный файл пользовательского класса, всё отлично отрабатывает, но, если в классе использовался класс string, то в конце...

Абракадабра при записи в файл и при чтении из него кириллицы - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ofstream f(&quot;text.dat&quot;); f &lt;&lt; &quot;Тест&quot;; ...


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

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

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