常见函数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);
}
一、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);
}
相关文章推荐
- 常见函数strlen、strcmp、strstr原型实现
- strlen,strcpy,strncpy,strcmp,strcat,strstr的用法,函数原型及函数的实现
- 和字符串有关的函数的模拟实现 strlen strcpy strcat strstr strcmp
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 模拟实现字符串操作函数(strcpy,strstr,strcat,strcmp,strlen)与内存操作函数(memcpy,memmove)
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 字符串处理函数的模拟实现(strlen、strstr、strcat、strcmp、strcpy、memmove、memcpy)
- 模拟实现strcmp,strncmp,strstr,strcat,strncat,strcpy,strncpy,strlen ,memcpy,memmove等函数
- c 重要库函数实现!strcmp strcpy strlen strstr
- strcpy strlen memcpy strcat strcmp strstr strrev函数的实现代码
- strlen,strcpy,strcat,strcmp四个函数的原型,memcpy,memset的实现
- strlen strcmp strcat strcpy strncpy strstr strchar函数的实现
- C语言面试必须会的几个字符串操作函数原型strcpy,strcmp,strlen,strcat
- strcpy strcat strcmp strstr函数实现
- 自己编写函数实现strcmp和strlen的功能。
- 字符串操作函数Strcat、Strcpy、Strcmp、Strlen原型
- (C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/strchr/strpbrk/strstr等相关函数
- strcpy, strcmp, strcat, strstr, strlen的实现
- 自己实现memcpy/strcpy/strcmp/strcat/strlen/strstr
- C语言学习5:数组定义,数组名的含义,数组作为函数参数,数组赋值,数组左右移动,最大最小,反向遍历,冒泡排序,sizeof 和strlen区别,gets和puts,strcpy,strcat,strcmp,strchr,strstr,strlen