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

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

Восстановить пароль Регистрация
 
alexey31415
 Аватар для alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
06.09.2012, 18:12     Ошибка при записи данных в файл #1
Для записи перменной типа 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;
}
Миниатюры
Ошибка при записи данных в файл  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2012, 18:12     Ошибка при записи данных в файл
Посмотрите здесь:

C++ ошибка при записи в файл.
C++ Ошибка при записи в файл
Ошибка записи в файл. :( C++
C++ Ошибка записи в файл на рабочем столе
C++ Ошибка при записи в бинарный файл
Ошибка при записи или чтении в бинарный файл C++
C++ Ошибка при записи в файл через библиотеку io.h
C++ Абракадабра при записи в файл и при чтении из него кириллицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2012, 18:22     Ошибка при записи данных в файл #2
В 34 строке name на что будет указывать? Никак не на массив, который создан в 32 строке.
alexey31415
 Аватар для alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
06.09.2012, 18:33  [ТС]     Ошибка при записи данных в файл #3
точно,спасибо за замечание
Yandex
Объявления
06.09.2012, 18:33     Ошибка при записи данных в файл
Ответ Создать тему
Опции темы

Текущее время: 11:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru