У меняЗапись типа DWORD в память перезаписывает только 1 байт вместо 4
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;
если у меня есть IE 7 в Len в то время как 4 должно быть, так как SizeOf (DWORD) = 4
Только 1 байт присваивается '** buf', потому что это все, что он может удерживать. –
О, я так слеп :(, спасибо. Поместите его в качестве ответа, я закрою вопрос. –