簡體   English   中英

在范圍內使用memcpy或memcmp

[英]Using memcpy or memcmp with ranges

使用memcpy或memcmp時可以使用范圍嗎?

char data[900000]; // size 900000
char array[20]; // size 20

if (memcmp(data[50-70], array, 20) == 0) {
    // do thing
}

我希望能夠將(20)個鍵數據[50-70]與array []進行比較

memcmp / memcpy只需獲取要比較或復制的數據的指針。

因此,您基本上可以通過提供指向您要比較的數據的開頭和數據長度的指針來復制或比較任何“范圍”,就像您在上面所做的一樣。

調整上面的代碼,如下所示:

if (memcmp(&data[50], array, 20) == 0) {
    // do thing
}

這告訴memcmp從數據數組第50個下標的地址開始檢查,並將其與數組地址的數據進行比較,並檢查20個元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM