uint8_t 数组是否会像 char 数组一样以 null 结尾?
Will a uint8_t array be terminated by null similar to a char array?
我正在开发一个项目,该函数将接收指向 uint8_t 数组的指针。我要将它的内容与指向大小未知的无符号字符数据缓冲区的指针的内容进行比较。我希望使用基于字符串的函数进行比较。
于是产生了疑问
是的。考虑:
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
,即所有字符串都是等价的。
我正在开发一个项目,该函数将接收指向 uint8_t 数组的指针。我要将它的内容与指向大小未知的无符号字符数据缓冲区的指针的内容进行比较。我希望使用基于字符串的函数进行比较。
于是产生了疑问
是的。考虑:
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
,即所有字符串都是等价的。