0

memcmpを使用するとおそらく小さな問題が発生しました。まったく同じデータを持つ2つの配列(長さ= 3バイト)があります。

それらをmemcmpと比較しようとすると、失敗しますか?!

if (memcmp(ucbuffer, ucnewbuffer, buffer.sDeviceData.sLenght)) {
    cout << "val written, val ok!\n";
};

ucbuffer、ucnewbufferは両方ともunsigned char *であり、

calloc(buffer.sDeviceData.sLenght, sizeof(unsigned char);

両方の配列を手作業で比較すると、どちらもまったく同じになります。

何かアイデアはありますか?

素敵な夜をお過ごしください。

4

1 に答える 1

9

その関数は、バッファが等しいと比較するとゼロを返します(つまり、trueではありません)。

于 2012-06-14T15:55:36.530 に答える