1
함수가 uint8_t 배열에 대한 포인터를받는 프로젝트에서 작업하고 있습니다. 이 내용을 크기를 알 수없는 부호없는 char 데이터 버퍼에 대한 포인터의 내용과 비교할 것입니다. 비교를 위해 문자열 기반 함수를 사용하고 싶었습니다.uint8_t 배열은 문자 배열과 비슷한 null로 종료됩니까?
따라서 의심의 여지가 있습니다.
함수가 uint8_t 배열에 대한 포인터를받는 프로젝트에서 작업하고 있습니다. 이 내용을 크기를 알 수없는 부호없는 char 데이터 버퍼에 대한 포인터의 내용과 비교할 것입니다. 비교를 위해 문자열 기반 함수를 사용하고 싶었습니다.uint8_t 배열은 문자 배열과 비슷한 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
있습니다.
** ** 적어도 하나의 버퍼가 널 (null)로 끝나야한다는 것을 알고 있습니다 (단, C 문자열 임). ** ** 나는 그렇지 않습니다. 그것은 당신이 알고있는 길이의 mem ... 함수를 사용하지 않으면 str ... 함수를 사용합니다. 구분 기호가없는 버퍼가없고 길이를 모르는 경우 잃어 버렸습니다 ... –