您的位置:首页 > 其它

常见函数strlen、strcmp、strstr原型实现

2014-10-08 19:16 411 查看
数组元素的结束符为'\0',串的结束符为NULL

一、strlen

#include
<iostream>
using
namespace
std;

long h_strlen(constchar*str){
assert(str!=NULL);

const
char *s = str;

while (*s++);

return (s - str -
1);
}

int main(int argc,
const
char * argv[])
{

char s1[] =
"hello";

char s2[] =
"123";

int s1_len =
h_strlen(s1);

int s2_len =
h_strlen(s2);

printf("s1_len:%d\n",s1_len);

printf("s2_len:%d\n",s2_len);
}

二、strstr

// 在字符串s1中寻找字符串2,若找到返回位置,否则返回Null

char *h_strstr(char*str,char *subStr){

while (*str !='\0') {

char *p = str;

char *q = subStr;

char *res =NULL;

if (*p == *q) {
res = p;

while (*q !='\0' && *p == *q){
p++;
q++;
}

if (*q =='\0')

returnres;
}
str++;
}
}

二、strcmp

long h_strcmp(constchar *src,constchar
*dst){

assert(src != NULL&& dst !=
NULL);

while (*src && *dst && (*src ==*dst)) {
src++;
dst++;
}

return (*dst - *src);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐