1.仿写strlen功能函数
#include <stdio.h>
int str_len(char pstr[])
{
int i,j;
for(i=0;pstr[i] != '\0';i++);
return i;
}
int main(int argc, const char *argv[])
{
char str[100] = "hello";
int count = str_len(str);
printf("%d\n", count);
return 0;
}
2.仿写strcpy功能函数
#include <stdio.h>
#include <string.h>
void str_cpy(char pstr[], char xstr[])
{
int i , j;
for(i=0, j=0; xstr[j] != '\0';i++, j++)
{
pstr[i] = xstr[j];
}
pstr[i] = '\0';
}
int main(int argc, const char *argv[])
{
char str[100] = "hello35135151";
char buf[100] = "";
str_cpy(buf,str);
puts(buf);
return 0;
}
3.仿写strcmp功能函数
#include <stdio.h>
int str_cmp(char pstr[] , char xstr[])
{
int i , j , res;
for(i=0 ,j=0; pstr[i]!='\0' || xstr[i]!='\0' ;i++ ,j++)
{
if(pstr[i] != xstr[i])
{
res = pstr[i] - xstr[i];
break;
}
}
return res;
}
int main(int argc, const char *argv[])
{
char buf3[32] = "hello";
char buf2[32] = "hello";
int a = str_cmp(buf3 , buf2); //看两个字符串是否相等
printf("%d\n",a);
return 0;
}
4.仿写strcat功能函数
#include <stdio.h>
void str_cat(char pstr[] , char xstr[])
{
int i , j , res , count = 0;
for(count=0 ; pstr[count]!='\0' ;count++);
for(i=count , j=0; xstr[j]!='\0' ;i++ , j++)
{
pstr[i] = xstr[j];
//printf("%d\n",i);
}
pstr[i] = '\0';
}
int main(int argc, const char *argv[])
{
char str[100] = "hello35135151";
char buf[100] = "vs22.45.4v";
str_cat(buf,str);
puts(buf);
return 0;
}