常用字符串功能函数
1.链接函数
将字符串src连接到des上,des最后面的'\0'被取消
#include
void Mystrcat(char *des,const char *src)
{
int i;
int j;
for(i=0;des[i]!='\0';i++);
des[i]=src[0];
for(j=1;src[j]!='\0';j++,i++)
{
des[i+1]=src[j];
}
des[i+1]='\0';
}
int main()
{
char des[10]="abc";
char src[]="def";
Mystrcat(des,src);
printf("%s",des);
return 0;
}
2.比较字符串大小
若str1>str2,返回正数;若str1返回负数;若str1=str2,返回0
#include
int Mystrcmp(const char *str1,const char *str2)
{
int i=0;
if(str1[i]==str2[i])
{
i++;
}
else if(str1[i]>str2[i])
{
return 1;
}
else if(str1[i]
{
return -1;
}
else
{
return 0;
}
}
int main()
{
char str1[]="abc";
char str2[]="aafe";
printf("%d\n",Mystrcmp(str1,str2));
return 0;
}
3.字符串拷贝
将字符串str拷贝到字符串des中
#include
void Mystrcpy(char *des,char *str)
{
int i;
for(i=0;str[i]!='\0';i++)
{
des[i]=str[i];
}
des[i]='\0';
}
int main()
{
char str[]="abcdefg";
char des[20];
Mystrcpy(des,str);
printf("%s",des);
return 0;
}
4.求字符串有效字符个数(不包括'\0')
#include
int Mystrlen(const char *str)
{
int count=0;
for(int i=0;str[i]!='\0';i++)
{
count++;
}
return count;
}
int main()
{
char str[]="asdfg";
printf("%d\n",Mystrlen(str));
return 0;
}
注意:当遇到含有字符串比较,拷贝,修改,链接,计算个数等要是用字符串的库函数,不能用> < =来比较,用+ -来计算。例”asdfg”是一个字符串常量,字符串常量是不允许修改的,一但修改,程序将会崩溃。所以如果想要修改字符串,就要应用拷贝函数,将修改的字符串复制到原来的字符串上。
字符串库函数:头文件引用 #include
链接函数Strcat :void *stract(char *str1,char *str2)
将字符串str1连接到str2上,str2最后面的'\0'被取消
比较函数Strcmp :void *strcmp(char *str1,char *str2)
若str1>str2,返回正数;若str1返回负数;若str1=str2,返回0
拷贝函数Strcpy : void *strcpy(char *str1,char *str2)
将字符串str2拷贝到字符串str1中
统计字符串函数Strlen : void * strlen(char *str)
统计字符串str的有效字符个数,有效字符不包括’\0’