"\0"使用strlen判断长度会出错
表层解释:strlen确实不计算结尾的'\0',并且strlen(NULL)会报错,使用时要注意判断参数是否为空,否则会抛出异常。
底层解释:这是规定,C风格的字符串以\0作为字符串结束标记。所有标准字符串函数遵守这一约定。'\01'代表ASCII码为八进制1的字符,它和'\0'不是同一个字符。'\0'是ASCII码值为0的字符。
表层解释:strlen确实不计算结尾的'\0',并且strlen(NULL)会报错,使用时要注意判断参数是否为空,否则会抛出异常。
底层解释:这是规定,C风格的字符串以\0作为字符串结束标记。所有标准字符串函数遵守这一约定。'\01'代表ASCII码为八进制1的字符,它和'\0'不是同一个字符。'\0'是ASCII码值为0的字符。