strlen strcat strcpy strcmp 自己实现
Posted xiaoshiwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strlen strcat strcpy strcmp 自己实现相关的知识,希望对你有一定的参考价值。
strlen strcat strcpy strcmp 自己实现
strlen
include <stdio.h>
#include <string.h>
#include <assert.h>
size_t my_strlen(const char* str){
assert(str != NULL);
const char *tmp = str;
size_t count = 0;
while(*tmp++ != ‘0‘){
count++;
}
return count;
}
size_t my_strlen1(const char* str){
assert(str != NULL);
if(*str == 0){
return 0;
}else{
return my_strlen1(str+1) + 1;
}
}
int main(){
char as[] = "hello C";
printf("%ld
",strlen(as));
printf("%ld
",my_strlen(as));
printf("%ld
",my_strlen1(as));
}
strcat
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <malloc.h>
char* my_strcat(char* strd, const char* strs){
assert(strd != NULL && strs != NULL);
char *tmp = strd;
while(*tmp++ != 0){}
tmp--;
while(*strs != 0){
*(tmp++) = *strs++;
}
*tmp = ‘0‘;
return strd;
}
int main(){
char s1[20] = "hello";
char s2[] = " C";
printf("strcat before s1 = %s
", s1);
char *str = my_strcat(s1,s2);
printf("strcat after s1 = %s
", s1);
printf("strcat after str = %s
", str);
}
strcpy
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <malloc.h>
char* my_strcpy(char* strd, const char* strs){
assert(NULL != strd && NULL != strs);
char* tmp = strd;
while(*strs != ‘0‘){
*tmp++ = *strs++;
}
*tmp = ‘0‘;
return strd;
}
int main(){
char s1[20] = "hello";
char s2[] = " wod";
printf("strcpy before s1 = [%s]
", s1);
char *str = my_strcpy(s1,s2);
printf("strcpy after s1 = [%s]
", s1);
printf("strcat after str = [%s]
", str);
}
以上是关于strlen strcat strcpy strcmp 自己实现的主要内容,如果未能解决你的问题,请参考以下文章
strlen() strcpy() strcat() strcmp()实现
strlen strcat strcpy strcmp 自己实现
常用函数strcpy strcat strcmp strlen memcpy memset