| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Дописывание данных в массив |
| Автор: Nikita_85 3.8.2007, 14:21 |
| Здрасте! Поскажите, пожалуйста, есть ли в C++ функция, которая позволяет дописывать данные в массив из другого массива? Заранее спасибо! |
| Автор: FiMa1 3.8.2007, 14:28 |
| а что за массивы, если массивы char, то strcat, к примеру. А так самому можно написать функцию.. |
| Автор: Lazin 3.8.2007, 14:29 |
| если в С++ то юзай контейнеры, например vector, если всё таки нужно использовать массив, то realloc, затем memcpy |
| Автор: bsa 3.8.2007, 14:31 |
| да. http://www.sgi.com/tech/stl/Vector.html |
| Автор: FiMa1 3.8.2007, 14:47 | ||
ну или вот кустарная версия конкатенации двух массивов целых значений. Склеивание, начиная с некоторой позиции конечного массива.
|
| Автор: Любитель 3.8.2007, 17:34 |
| FiMa1, неэффективно. memcpy тогда уж |
| Автор: Xenon 3.8.2007, 23:37 | ||
Можно даже не изобретать велосипед
|
| Автор: Xenon 4.8.2007, 02:22 | ||
FiMa1, кстати по поводу твоего кода. Чего мешает делать хотя бы так
|
| Автор: Nikita_85 6.8.2007, 15:37 |
| Всем спасибо за советы! Дело в том, что дописывание в массив происходит внутри цикла while. Поэтому в каждом круге некоторая информация должна записываться в выходной массив. Как можно это сделать? (ведь в приведенных выше советах циклы for с переменной i и функция memcpy не подходят, так как выходной массив тогда будет переписываться каждый раз) |
| Автор: NoNo 6.8.2007, 16:45 |
| Лудше используй vector.... а так перераспределяй в каждом круге памятья по новой |
| Автор: Nikita_85 7.8.2007, 08:39 |
| Прошу прощения за неумный вопрос, как распределять память? Может об этом можно почитать где-нибудь? |
| Автор: Xenon 7.8.2007, 14:47 |
| Nikita_85, ну я думаю человек имел ввиду выделение блока памяти большего, чем был, копирование информации из старого блока в новый, удаление старого. |