一、C++标准串运算的实现 这里举字符串复制函数,字符串比较函数,和求字符串长度函数为例,说明C++标准串运算的实现。
字符串的复制
char *strcpy(char *d, char *s)
{
//这个程序的毛病是,如果字符串s比字符串d要长,
//这个程序没有检查拷贝出界,没有报告错误。
//可能会造成d的越界
int i =0;
while (s[i] != '\0') {
d[i] = s[i]; i++;
}
d[i] = '\0';
return d;
}
字符串的比较
int strcmp( char *d, char *s)
{
int i =0;
while (s[i] != '\0' && d[i] != '\0' )
{
if (d[i] > s[i])
return 1;
else if (d[i] < s[i])
return -1;
i ++;
}
if( d[i] = ='\0' && s[i] != '\0')
return -1;
else if (s[i] = = '\0'&& d[i] != '\0')
return 1;
return 0;
}
求字符串的长度
int strlen(char d[])
{
int i =0;
while (d[i] != 0)
i++;
return i;
} |