1
我正在研究一個項目,該函數將接收一個指向uint8_t數組的指針。我將比較它的內容和指向未知大小的unsigned char數據緩衝區的內容。我希望能夠使用基於字符串的函數進行比較。uint8_t數組是否會被類似於char數組的null終止?
因此懷疑已經出現。
我正在研究一個項目,該函數將接收一個指向uint8_t數組的指針。我將比較它的內容和指向未知大小的unsigned char數據緩衝區的內容。我希望能夠使用基於字符串的函數進行比較。uint8_t數組是否會被類似於char數組的null終止?
因此懷疑已經出現。
是的。試想一下:
char *str1 = "hello";
uint8_t str2[6] = "hello";
int8_t *str3 = "hello";
int result1 = strcmp(str1, (char*)str2);
int result2 = strcmp(str1, (char*)str3);
兩個result1
和result2
是0
,即,所有的字符串是相等的。
**您知道是否至少有一個緩衝區應該是空終止的(意思是C字符串),但是** I **不。它是這種情況,使用str ...函數,如果不使用mem函數的話,你知道的長度。如果沒有緩衝區有分隔符,並且如果你不知道任何長度,你就會丟失... –