2017-03-16 2 views
1

함수가 uint8_t 배열에 대한 포인터를받는 프로젝트에서 작업하고 있습니다. 이 내용을 크기를 알 수없는 부호없는 char 데이터 버퍼에 대한 포인터의 내용과 비교할 것입니다. 비교를 위해 문자열 기반 함수를 사용하고 싶었습니다.uint8_t 배열은 문자 배열과 비슷한 null로 종료됩니까?

따라서 의심의 여지가 있습니다.

+1

** ** 적어도 하나의 버퍼가 널 (null)로 끝나야한다는 것을 알고 있습니다 (단, 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 있습니다.

관련 문제