1、
所需头文件
#include <stdio.h>
#include <assert.h>
函数体
char *my_strncpy(char *dest, const char* src, int sz) //字符串拷贝
{
assert(dest&&src);
int i = 0;
char *ret = dest;
while (i < sz)
{
*dest++ = *src++;
i++;
}
return ret;
}
int main()
{
char arr[40] = { 0 };
my_strncpy(arr, "hello word", 4);
printf("%s", arr);
system("pause");
return 0;
}
char my_strncat(char *dest, const char *src, int sz) //字符串连接
{
assert(dest&&src);
char *ret = dest;
while (*ret)
{
ret++;
}
while (sz--)
{
*ret++ = *src++;
}
*ret = 0;
return dest;
}
int main()
{
char arr[20] = "hello";
my_strncat(arr, " world", 6);
printf("%s", arr);
system("pause");
return 0;
}
char my_strncmp(const char *dest, const char *src, int sz) //字符串比较
{
assert(dest&&src);
while (sz--)
{
if (*dest == *src)
{
dest++;
src++;
}
else
{
if ((*dest) - (*src) < 0)
return -1;
else
return 1;
}
}
return 0;
}
int main()
{
int num = my_strncmp("abcdr", "abcde", 5);
printf("%d", num);
system("pause");
return 0;
}