次の状況を得ました:
AnsiString IP_Adress;
int Port;
BYTE ReadBuffer[2048];
これを使用すると完璧に機能します:
memcpy(&Port, &ReadBuffer[48],1);
Potnummer を読み取るには 2 バイトが必要なので、memcpy の後のポートの内容は次のとおりです。 Port == 5000;
しかし、AnsiString に同じ方法を使用すると失敗します。
memcpy(&IP_Adress, &ReadBuffer[44],3);
その後、IP_Adress は空ではありませんが、ReadBuffer と同じものが含まれていません。
ReafBuffer[44] == 192
ReafBuffer[45] == 168
ReafBuffer[46] == 123
ReafBuffer[47] == 240
IP_Adress 位置 0 ~ 3 の内容:
0x27 0xEC 0x77 0x00