2017-03-16 7 views
1

私は、関数がuint8_t配列へのポインタを受け取るプロジェクトに取り組んでいます。私はこれの内容を、サイズがわからないunsigned charデータバッファへのポインタと比較したいと思います。私は、比較のために文字列ベースの関数を使用することを望んでいました。uint8_t配列はchar配列に似たnullで終了しますか?

したがって疑いが生じました。

+1

**バッファの少なくとも1つがヌルで終わるはずです(手段はC文字列です)。** **はありません。それは、あなたが知っている長さのmem ...関数を使用しない場合、str ...関数を使用する場合です。区切り文字を持つバッファがなく、長さがわからない場合は、あなたは失ってしまっています... –

答えて

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); 

両方result1result2すなわち、すべての文字列が等価である、0あります。

関連する問題