int strlen(const char *str)
{
assert(str != NULL);
int len = 0;
while((*str++) != '/0')
len++;
return len;
}
strlen求字符串长度不包含结束符
char * strcpy(char *dst,const char *src)
{
if((dst==NULL)||(src==NULL))
return NULL;
char *ret = dst;
while ((*dst++=*src++)!='\0');
return ret;
}
strcpy复制直到字符串的结束符为至,没有结束符的数据拷贝需要添加长度限制
char * strcpy(char *dst,const char *src, char len)
sizeof是一个运算符,不是函数
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
char buf[9] = "123456789";
char puf[] = "123456789";
a = strlen(buf) ;
b = strlen(puf) ;
a,b的值是多少?
a = 18;b=9
原因:buf[9]固定了9,定义变量puf事,buf后面的结束符空间被puf[0]占用变为‘1’