|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.08.2011, 18:42 | #1 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
запись и загрузка с бинарного файла массива структур
помогите пожалуйста, что делаю не так?
Код:
при загрузке, количество структур больше чем нужно..... Последний раз редактировалось zetaBiT; 28.08.2011 в 18:53. |
28.08.2011, 18:49 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
нельзя тупо сохранять в файл структуры содержащие указатели/ссылки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.08.2011, 19:00 | #3 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
я верно понял???
Код:
но при загрузке все равно не те данные какие сохранялись а загрузка через ссылку у меня верна? Код:
|
28.08.2011, 19:02 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
проблема в структуре у вас, класс AnsiString содержит указатель.
и именно про них я и говорил, вывод, нужно ручками сохранять по-членно. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.08.2011, 19:08 | #5 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
помоему понял....сейчас попробую, отпишусь о результатах
|
28.08.2011, 19:35 | #6 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
Код:
Код:
но опять проблемка...при добавлении использую функции Код:
UIN 3333 id 1 many 1000 group user raiting 100 nick ddddddd status ***** POL ***** SP ***** после загрузки с файла UIN 3333 id 1 many 1000 group user raiting 100 nick ddddddd status ***** POL ***** SP ****¤ и уже не могу добавить пользователя... ошибка invalid pointer operation и строка в функции что возвращает ссылку на новую структуру add_user() Код:
Последний раз редактировалось zetaBiT; 28.08.2011 в 19:39. |
28.08.2011, 19:44 | #7 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
теперь вообще выдает ошибку на group... а может мне в структуре сделать AnsiString какойто длины???
|
28.08.2011, 20:00 | #8 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
ааа помогите пожалуйста! мне нужен вместо AnsiString char постоянной длины???
|
28.08.2011, 22:29 | #9 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
разобрался наконецто
AnsiString - это класс, содержащий ссылку\указатель c_str на динамически выделяемую строку. Конструктор по умолчанию создает пустую AnsiString с c_str = NULL и соотв-но в твоей структуре tmp все AnsiString содержат NULL Избежать облома можно если перед первым чтением выделить память под все строковые мемберы tmp вызовом SetLength т.е. структуры которые в файл должны иметь неизменный размер через время напишу как должна быть в моем случае структура |
28.08.2011, 22:43 | #10 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 11
|
структура
Код:
Код:
загрузка Код:
Пепел Феникса, спасибо за направление в нужное русло! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запись/чтение из бинарного файла. | H1ghlander | Общие вопросы C/C++ | 0 | 21.11.2010 17:44 |
сохранение\ загрузка List View в\из бинарного файла | bulldog5293 | Общие вопросы Delphi | 6 | 12.07.2010 13:59 |
Заполнение массива структур данными из файла | Brutallus | Общие вопросы C/C++ | 0 | 26.11.2009 19:01 |
Запись/чтение из бинарного файла - непонятные проблемы.... | Jorgen | Общие вопросы C/C++ | 1 | 26.11.2009 11:45 |
Запись массива с цифрами файл, и его загрузка | Kycaka | Общие вопросы C/C++ | 4 | 08.06.2009 22:38 |