:C言語のライブラリ関数は、ここで私は多くのいくつかの文字列関数のシミュレーションを実現している
、1文字列の長さの関数はstrlenを見つけます
- 関数のプロトタイプ:unsigned int型はstrlen(constのchar型STR);
2、strcpyの文字列のコピー機能
- 関数のプロトタイプます。externのchar * strcpyの(CHAR * DEST、CHAR * SRC)
3、strcatの文字列の連結機能
- 関数のプロトタイプます。char * strcatは(CHAR * strDest、のconstのchar * strScr)
4、はstrstr文字列検索機能
- 関数のプロトタイプます。char *はstrstr(文字列str、char型の SUBSTR)
5、strcmpの文字列比較関数
- 関数のプロトタイプ:int型strcmpa(のconstのchar * str1は、constのchar型* STR2)
char* my_strcpy(char* dst, const char* src) //字符串拷贝
{
assert(dst&&src);
while (*src)
{
*dst = *src;
src++;
dst++;
}
*dst='\0';
return dst;
}
int my_strlen(const char*str) //求字符串长度
{
assert(str);
int sum = 0;
while (*str++ != '\0')
{
sum++;
}
return sum;
}
char* my_strcat(char* dst, const char* src) //字符串连接
{
// hello worldll
assert(dst&&src);
while (*dst != '\0')
{
dst++;
}
while (*src != '\0')
{
*dst++ = *src++;
}
*dst = '\0';
return dst;
}
int my_strcmp(const char* dst, const char* src) //字符串比较
{
int len = 0;
assert(dst&&src);
while (*dst&&*src && (*dst == *src))
{
++dst;
++src;
}
return *dst-*src;
}
char* strstr(const char*dst, const char* src) //字符串查找
{
assert(dst&&src);
while (*dst)
{
while ((*dst != *src) && *dst!='\0')
{
++dst;
}
while (*dst == *src)
{
const char *dest = dst;
const char *srcs = src;
while (*dest == *srcs)
{
++dest;
++srcs;
}
if (*srcs == '\0')
{
return (char*)dst;
}
else
{
dst++;;
}
}
}
}