#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_SIZE 1024
int my_strlen(char *src)
{
int len = 0;
while(*src != '\0')
{
len++;
src++;
}
return len;
}
char * my_strcpy(char *dest,char *src)
{
char *temp = dest;
while(*src != '\0')
{
*temp = *src;
temp++;
src++;
}
*temp = '\0';
return dest;
}
char * my_strncpy(char *dest,char *src,int n)
{
int i;
if(strlen(src) < n)
{
return dest;
}
for(i = 0;i < n;i++)
{
*(dest+i) = *(src+i);
}
return dest;
}
char * my_strcat(char *src,char *dest)
{
#if 0
int src_len;
int dest_len;
int i;
int j = 0;
dest_len = strlen(dest);
src_len = strlen(src);
for(i = src_len;i < dest_len+src_len;i++)
{
*(src+i) = *(dest+j);
j++;
}
#endif
char *temp = src;
while(* src != '\0')
{
src++;
}
while(*dest != '\0')
{
*src = *dest;
src++;
dest++;
}
*src = '\0';
// *(dest+j) = '\0';
return src;
}
int my_strcmp(char *src,char *dest)
{
while(*dest != '\0' && *src != '\0')
{
if((*src - *dest) > 0)
{
return 1;
}
else if((*src - *dest) < 0)
{
return -1;
}
dest++;
src++;
}
if(*dest == '\0' && *src != '\0')
{
return -1;
}
else if(*dest != '\0' && *src == '\0')
{
return 1;
}
else if(*dest == '\0' && *src == '\0')
{
return 0;
}
}
int main()
{
char *dest = (char *)malloc(sizeof(char)*MAX_SIZE);
char src[MAX_SIZE] = "hello world";
int len;
int ret;
my_strcpy(dest,"hello world");
if(dest == NULL)
{
printf("malloc error!\n");
}
// printf("please enter src:\n");
// scanf("%s",src);
len = my_strlen(src);
printf("the length of src is:%d\n",len);
// my_strncpy(dest,src);
// my_strncpy(dest,src,5);
// my_strcat(src,dest);
// printf("the dest is :%s\n",src);
ret = my_strcmp(src,dest);
printf("ret = %d\n",ret);
return 0;
}
c库函数编写练习
最新推荐文章于 2022-07-23 18:08:38 发布