у меня
typedef unsigned int DWORD;
void write_str(string str, char** buf) {
DWORD len = str.size();
**buf = len;
*buf += sizeof(len);
memcpy(*buf, str.c_str(), len);
*buf += len;
}
Этот код, и только 1 байт перезаписывается в **buf = len;
, если у меня есть, например, 7 в len, а 4 должно быть, так как sizeof (DWORD) = 4