strlen()
strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。
size_t strlen(char const* str);
char sArr[] = "ILOVEyou";
std::cout<<"sArr的长度=%d\n"<< strlen(sArr));
//返回是8,不包含最后一个null
同时返回值是size_t,即是即无符号整型。
sizeof()
这里的示例代码运行结果为 9(因为它包括结束字符 null)。同时,对 sizeof 而言,因为缓冲区已经用已知字符串进行了初始化,其长度是固定的,所以 sizeof 在编译时计算缓冲区的长度。也正是由于在编译时计算,因此 sizeof 不能用来返回动态分配的内存空间的大小。
size_t strlen(char const* str);
char sArr[] = "ILOVEyou";
std::cout<<"sArr的长度=%d\n"<< sizeof(sArr));
//返回是8,不包含最后一个null