1.strcpy
函数名: strcpy
函数名: strcpy
功 能: 拷贝一个字符串到另一个
用 法: char *strcpy(char *destin, char *source);
代码:
#include <stdio.h>
#include <string.h>
#include <assert.h>
char * my_strcpy(char *dst, char const *src)
{
char *ret = dst;
assert(dst != NULL && src != NULL);
while (*dst++ = *src++)
{
NULL;
}
return ret;
}
int main()
{
char str[20];
char *p = "My name is LiMing!";
printf("%s\n", my_strcpy(str, p));
getchar();
return 0;
}
2、strcat
函数名: strcat
功 能: 字符串拼接函数
用 法: char *strcat(char *destin, char *source);
代码:
<pre name="code" class="html">#include <string.h>
#include <stdio.h>
#include <assert.h>
char *my_strcat(char *str1, char const *str2)
{
char *ret = str1;
assert(str1);
assert(str2);
while (*str1 != '\0')
{
str1++;
}
while (*str1++ = *str2++)
{
NULL;
}
return ret;
}
int main()
{
char str[10] = "abcd";
char *p = "efgh";
char *ch = my_strcat(str, p);
printf("%s\n", ch);
getchar();
return 0;
}
3、strcmp
函数名: strcmp
功 能: 字符串比较
用 法: int strcmp(char *str1, char *str2);
依据Asic码,str1>str2,返回值为 1;两串相等,返回0;str1<str2,返回值为 -1
代码:
#include <stdio.h>
#include <string.h>
#include <assert.h>
int my_strcmp(char const *str1, char const *str2)
{
assert(str1);
assert(str2);
while (*str1 == *str2)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
if (*str1 > *str2)
return 1;
else
return -1;
}
int main()
{
char *str1 = "abccadsad";
char *str2 = "abcdvda";
int ret = my_strcmp(str1, str2);
printf("%d\n", ret);
getchar();
return 0;
}