自己编程实现字符串函数
1、puts
void myputs(char *str)
{
while(*str!='\0')
{
putchar(*str);
str++;
}
}
2、gets
void mygets(char *dest)
{
if(dest==NULL)
{
printf("内存非法\n");
return;
}
while(1)
{
*dest=getchar();
if(*dest=='\n'){
return;
}else{
dest++;
}
}
}
3、strlen
int mystrlen(char *str)
{
int cnt=0;
while(*str!='\0')
{
cnt++;
str++;
}
return cnt;
}
4、memset
void mymemset(char *dest,int d,int size)
{
while(size)
{
*dest=d;
dest++;
size--;
}
dest=dest-1;
*dest='\0';
}
5、strcpy
void mystrcpy(char *dest,char *str)
{
while(*str!='\0')
{
if(*str==NULL){
printf("目标字符串为空\n");
}else{
*dest=*str;
dest++;
str++;
}
}
}
6、strncpy
void mystrncpy(char *dest,char *str,int cnt)
{
while(cnt)
{
cnt--;
*dest=*str;
dest++;
str++;
}
}
7、strcat
void mystrcat(char *d,char *s)
{
while(*d!='\0')
{
d++;
}
while(*s !='\0')
{
*d++=*s;
}
*d='\0';
}
8、strcmp
int mystrcmp(char *dest,char *str)
{
if(strlen(dest)>strlen(str))
{
return -1;
}
else if(strlen(dest)<strlen(str))
{
return 1;
}
else
{
while(*dest!='\0')
{
if(*dest++==*str++){
//return 0;
}
else
{
return 8;
}
}
return 0;
}
}