| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Структура в векторе.Ошибка записи элемента вектора |
| Автор: freshAngel 10.2.2009, 16:14 | ||||
| Привет. Объявляю структуру:
Вроде все верно. Пробовал и другим способом.
Опять ошибка Adress Vialation Error В чем может быть проблема, и как правильно записать значения!? |
| Автор: Dem_max 10.2.2009, 16:31 | ||||
Ну вообщето ты просто a сделал вектором но память под него не выделил вот и ошибка
либо так
|
| Автор: freshAngel 10.2.2009, 21:07 | ||||||
Спасибо, все работает! |
| Автор: GraNit 2.5.2012, 12:27 | ||||
| Здравствуйте! Хочу продолжить тему. Пытаюсь получить список файлов с FTP сервера. Т.к. их кол-во разанее не известно, использую верктор. Вот его описание в хейдере:
Далее подключаюсь к серверу и по NMFTP1->List() получаю список построчно и каждую строку обрабатываю вот так:
Проблема следующая, Заполняю 24 строки массива, на 25 строке "Access violation at address..." Честно говоря не понимаю почему. Прошу помощи. |
| Автор: artsb 2.5.2012, 14:19 | ||||
Не видно тут 25-той строки. Предположу, что эта:
Во втором индексе добавьте (-1), как я написал. А лучше Trim() перенести в цикл:
|
| Автор: GraNit 3.5.2012, 04:03 |
| Действительно, отработала без ошибок, но пропало поле "Размер/Директория", т.е. мы в нее записали имя. Увеличил счетчик цикла на один и во втором индексе добавил -1, теперь все в норме. Правда у меня есть вопрос, в цикле объявляется на 1 столбец больше, значит вектор занимает больше памяти чем ему требуется? А на счет 25 строки, я имел в виду 24 элемента массива заполняются, а на 25-ом появляется ошибка. |
| Автор: Dem_max 3.5.2012, 06:14 |
| вообще пользуйся через RemoteFiles.push_back(); |
| Автор: GraNit 3.5.2012, 07:08 | ||
Может быть как вы говорите и правильнее, но я думаю разницы нет. Хотя я не профессиональный программист на C++, вам виднее. |
| Автор: GraNit 3.5.2012, 12:08 |
| Но тогда и интераторы следует пользовать, только с ними что-то не все понятно пока, а прога должна работать уже вчера, как всегда. По позже, когда будет следующий билд, попробую сделать все как положено в C++ |
| Автор: artsb 3.5.2012, 12:55 | ||
Зачем итераторы?
|
| Автор: GraNit 31.5.2012, 05:28 |
| Да, действительно, все работает. Прошу прощения, не поблагодарил за помощь! |