最近看笔试考试好像很多都喜欢考这四类函数的原型,现归纳如下:
//字符串连接函数strcat,编译通过!
#include <stdio.h>
char *str_strcat(char *strDest,char *strSour)
{
while(*strDest!='\0')
*strDest++;
while(*strSour!='\0')
{
*strDest=*strSour;
*strDest++;
*strSour++;
}
*strDest='\0';
return strDest;
}
int main()
{
char Dest[100]="I Love ";
char Sour[50]="China";
str_strcat(Dest,Sour);
printf("%s\n",Dest);
return 0;
}
//拷贝函数strcpy,编译通过
#include <stdio.h>
char *str_strcpy(char *strDest,char *strSour)
{
while(*strSour!='\0')
{
*strDest=*strSour;
*strDest++;
*strSour++;
}
*strDest='\0';
return strDest;
}
int main()
{
char Dest[100]="012345";
char Sour[50]="56789";
str_strcpy(Dest,Sour);
printf("%s\n",Dest);
return 0;
}
//求字符串长度函数strlen,编译通过
#include <stdio.h>
int str_strlen(char *Str)
{
int l=0;
while(*Str!='\0')
{
*Str++;
l++;
}
return l;
}
int main()
{
char str[50]="I Love China ";
printf("%d\n",str_strlen(str));
return 0;
}
//字符串比较函数strcmp,编译通过。
#include <stdio.h>
int str_strcmp(char *str1,char *str2)
{
while((*str1==*str2)&&(*str1!='\0'))
{
*str1++;
*str2++;
}
if(*str1=='\0'&&*str2=='\0')
return 1;
else
return -1;
}
int main()
{
char str1[10]="1234";
char str2[10]="12345";
printf("%d\n",str_strcmp(str1,str2));
char str3[10]="abcd";
char str4[10]="abcd";
printf("%d\n",str_strcmp(str3,str4));
return 0;
}