Нужно просто delete [] pSendAck.
D>На последней строчке программа падает. Что не так, не могу понять...
Не могу понять как у вас такое вообще скомпилилось? У меня g++ такой компилить не стал:
delete.cc:4: ошибка: expected `]' before numeric constant
delete.cc:4: ошибка: type ‘int’ argument given to ‘delete’, expected pointer
delete.cc:4: ошибка: expected `;' before ‘]’ token
Здравствуйте, carpenter, Вы писали:
C>Здравствуйте, dosik, Вы писали: C>в код не вникал (может куча попорчена) ... но может так — C>delete [] pSendAck;
Здравствуйте, JLO, Вы писали:
JLO>Нельзя ж всё время подавать размер массива 1024 если его начало двигаешь.
Нужно вместо 1024 во всех _s-функциях писать
А ещё можно было не городить огород, а написать в одну строку
int bytes = _sprintf_p(pSendAck, 1024,
"%c%c" "blksize%c" "%d%c" "tsize%c" "%I64u%c", // это всё одна строка, элементы которой я разделил для наглядности
0,6, // htons(0x0006)
0, // концевые нули приходится впечатывать, поскольку форматная строка сама не может быть мультистрингом
Session.blksize, 0,
0,
Session.tsize.QuadPart, 0
);
Здравствуйте, Alexander G, Вы писали:
AG>Для strcpy_s неверно указывается размер буфера. AG>Заменить на strcpy или вместо 1024 подставлять реальный размер (тот что остался а не тот что был).