1.strcpy
用 法: char *strcpy(char *str1, char *str2);
功 能: 串拷贝,将str2赋值给str1中
cahr *mystr(char* str1,cahr *str2) { char *p=str1; if(str1==NULL ||str2==NULL) return NULL; while(*str2!=NULL)//拷贝到字符*str2为终止(‘\0‘相当于NULL) { *str1=*str2; str1++; str2++; } *str1=‘\0‘;//因为拷贝最后一个字符为‘\0‘,所以退出循环,所以补上 return p;//返回str1的首地址 }
2.strset
用 法: char *strset(char *str, char c);
功 能: 将一个串中的所有字符都设为指定字符
char *mystrset(char *str,char ch) { char *p=str; while(*str!=‘\0‘) { *str=ch; str++; } return p; }
3. strstr
用 法: char *strstr(char *str1, char *str2);
功 能: 查找字符串str1,看看字符串str2是否包含在str1中。若存在返回str2字符串首次出现的位置,否则返回空
char *mystrstr(char *str1,char *str2) { char *p=NULL; if(str1==NULL ||str2==NULL) return p; int length1=strlen(str1);//母字符串长度 int length2=strlen(str2);//子字符串长度 for(int i=0;i<length1-length2;i++) { int flag=1;//假设字符串相等 for(int j=0;j<length2;j++) { if(str[i+j]!=str[j])//只要有一个字符不相等推出循环 { flag=0; break; } } if(flag==1) { return (str1+i);//返回找到的位置 break; } } return p; }
今天就说到这儿,想探讨算法,或者有更好的方案下方留言!
原文:https://www.cnblogs.com/zulkar/p/10973840.html