#include <stdio.h>
#include <string.h>
int Strlen(char* src){
int i=0;
while(*(src++)!='\0'){
i++;
}
return i;
}
void Strcpy(char* dest,char* src){
while(*src!='\0'){
*dest=*src;
dest++;
src++;
}
*dest='\0';
}
int Strcmp(char* dest,char* src){
while(*dest!='\0'&&*src!='\0'){
if(*dest < *src)
return -1;
else if(*dest == *src){
dest++;
src++;
continue;
}else
return 1;
}
//如果两个字符串前面部分全部相等
if(Strlen(dest)<Strlen(src)){
return -1;
}else if(Strlen(dest)==Strlen(src)){
return 0;
}else
return 1;
}
void Strcat(char* dest,char* src){
while(*dest!='\0')
dest++;
while(*src!='\0'){
*dest=*src;
dest++;
src++;
}
*dest = '\0';
}
char* Strstr(char* dest,char* src){
int n;
if(*src!='\0'){
while(*dest!='\0'){
for(n=0;*(dest+n)==*(src+n);n++){
if(*(src+n+1)=='\0'){
return dest;
}
}
dest++;
}
return NULL;
}else
return dest;
}
char* Strstr1(char* dest,char* src)
{
int n;
if(*src!='\0')
{
while(*(dest++)!='\0'){
if(*dest!=*src)
continue;
else if(*dest==*src){
for(n=1;n<Strlen(dest);n++){
if((*(dest+n)==*(src+n))&&(*(src+n)!='\0'))
continue;
else{
break;
}
}
if(n==Strlen(src))
return dest;
else
return NULL;
}
}
return NULL;
}
return NULL;
}
int main(){
char arr[10]="123";
char arr1[] = "jojoj";
printf("Strlen=%d\n",Strlen("zjw"));
Strcpy(arr,"jojo");
printf("Strcpy=%s\n",arr);
printf("Strcmp=%d\n",Strcmp(arr,arr1));
Strcat(arr,arr1);
printf("Strcat=%s\n",arr);
char arr2[10]="123456ibm";
char arr3[10]="46";
printf("strstr=%s\n",strstr(arr2,arr3));
printf("Strstr=%s\n",Strstr(arr2,arr3));
printf("Strstr=%s\n",Strstr1(arr2,arr3));
return 0;
}