C语言库函数学习【string.h】之strchr_(char*str, char c)
C语言库函数学习【string.h】之strchr_(char*str, char c)
代码如下:
#include<stdio.h>
/*
函数功能:函数返回一个指向str 中c的首次出现,没有找到返回NULL
参数描述:
src:源字符串
c :目标字符
返回值:指向首次在src中首次出现位置的指针
*/
char *strchr_(char *str, char c)
{
if(NULL == str )
return(char *) NULL;
while(*str&& *str!=c) /*遍历字符串*/
str++;
if(*str== c) /*匹配成功*/
returnstr;
return(char *)NULL;
}
/*
函数功能:函数返回一个指向str 中c的首次出现位置,没有找到返回-1
参数描述:
src:源字符串
c :目标字符
返回值:int
*/
int strchri_(const char *str,char c)
{
if(NULL == str || NULL == c )
return-1;
inti=0;
while(*str)
{
if(*str==c)
{
returni;
}
i++;
str++;
}
return-1;
}
/*
函数功能:函数返回一个指向str 中c的最后一次出现位置,没有找到返回-1
参数描述:
src:源字符串
c :目标字符
返回值:int
*/
int strchrl_(char * str,char c)
{
if(NULL== str || NULL == c)
return-1;
inti=0;
char* p=str;
/*移动到最后*/
while(*p)
{
i++;
p++;
}
/*前移到非'\0'字符*/
p--;
i--;
/*遍历*/
while(*p)
{
if(*p==c) /*匹配成功*/
returni;
i--;
p--;
}
return-1;
}