2017-03-16 51 views
1

我正在研究一個項目,該函數將接收一個指向uint8_t數組的指針。我將比較它的內容和指向未知大小的unsigned char數據緩衝區的內容。我希望能夠使用基於字符串的函數進行比較。uint8_t數組是否會被類似於char數組的null終止?

因此懷疑已經出現。

+1

**您知道是否至少有一個緩衝區應該是空終止的(意思是C字符串),但是** I **不。它是這種情況,使用str ...函數,如果不使用mem函數的話,你知道的長度。如果沒有緩衝區有分隔符,並且如果你不知道任何長度,你就會丟失... –

回答

2

是的。試想一下:

char *str1 = "hello"; 
uint8_t str2[6] = "hello"; 
int8_t *str3 = "hello"; 

int result1 = strcmp(str1, (char*)str2); 
int result2 = strcmp(str1, (char*)str3); 

兩個result1result20,即,所有的字符串是相等的。

相關問題