| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Проблема с memcpy функцией |
| Автор: Ak47black 22.2.2010, 22:52 | ||||
| Здравствуйте. Подскажите пожалуйста, как тут правильно сделать Есть
нужно скопировать в память адрес который начинается с buffer[2] из argv[4], при этом значение сколько байт нужно скопировать находится по buffer[1]. Вот так попробовал
получаю EAccessViolation |
| Автор: Alexeis 22.2.2010, 23:24 |
| Ak47black, адрес не может храниться в одном байте. Что-то напутал. |
| Автор: mes 22.2.2010, 23:31 |
| Автор: Alexeis 22.2.2010, 23:44 |
| mes, мож я чего не понимаю, но (void*)buffer[2] это же байт приведенный к указателю. |
| Автор: mes 23.2.2010, 00:17 | ||
угу, в примере выражено, не то что спрашивается.. думаю требуется
но мое уточнение относилось не к примеру хотя я согласен что задание не полное, потому как не указано кол-во отведенных байт (размер), а без этого дать правильный ответ проблематично. |
| Автор: GoldFinch 23.2.2010, 00:35 |
| memcpy(buffer+2, argv[4], (unsigned int)buffer[1]); |
| Автор: Ak47black 23.2.2010, 00:53 | ||||
Работает! Эххх.. надо по проще смотреть на вещи оказывается. Спасибо Вам за помощь. Добавлено @ 01:05
|
| Автор: bsa 24.2.2010, 12:56 |
| Ak47black, если не секрет, зачем пытаешься создать паскалевский string? Может лучше использовать std::string, он более универсален и способен хранить строки значительно превышающие 255 символов. |
| Автор: Ak47black 24.2.2010, 16:52 | ||
Моя старая привычка, которая появилась от Delphi |
| Автор: bsa 24.2.2010, 16:54 |
| Избавляйся от нее как можно скорее. |
| Автор: Ak47black 24.2.2010, 18:33 |
| bsa, |