您的位置:首页 > 编程语言 > C语言/C++

使用C语言模拟实现String函数

2017-03-30 18:13 274 查看
模拟实现strlen

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int my_strlen(const char *str)
{
int count = 0;
while (*str)
{
count++;
str++;
}
return count;
}
int main()
{
char *arr = "abcdef";
printf("%d\n", my_strlen(arr));
system("pause");
return 0;
}


模拟实现strcpy

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
char *my_strcpy(char*dest, const char*src)
{
char *ret = dest;
assert(dest!=NULL);
assert(src!= NULL);
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char arr1[10] = { 0 };
char *arr2 = "abcdef";
printf("%s\n", my_strcpy(arr1, arr2));
system("pause");
return 0;
}


模拟实现strcat

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
char * my_strcat(char*dest, const char*src)
{
char *ret = dest;
assert(dest!=NULL);
assert(src!= NULL);
while (*dest)
{
dest++;
}
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char arr[20] = "abcdef";
my_strcat(arr, "hello");
printf("%s\n",arr);
system("pause");
return 0;
}


模拟实现strcmp

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int my_strcmp(const char* str1, const char*str2)
{
assert(str1 != NULL);
assert(str2!= NULL);
while (*str1 == *str2)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
return *str1 - *str2;

}
int main()
{
printf("%d\n", my_strcmp("aaa", "abc"));
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: