概述
Strlen()用来计算字符串的长度,其中并不包含结束字符。此函数会计算字符串的字节长,不把结束字符算在内。
Strcpy()是将一个字符串复制到另一个字符串。若要将字符串s2复制到字符串s1中,则s1必须要有足够的空间来容纳s2,最后此函数返回s1的起始地址。
Strcat()是将两个字符串合并成一个字符串。若要将字符串s2连接到字符串s1的后面,则必须将s1的结束字符去掉,且字符串s1要有足够的空间来容纳字符串s2,最后此函数返回s1的起始地址。
#include "stdio.h"
int Strlen(char *s)//字符串的长度计算
{
int i=0;
while (s[++i]);//while(s[i]){i++}也可
return i;
}
char *Strcpy(char *s1,char *s2)//字符串的复制
{
int i=0,j=0;
while (s1[i++]=s2[j++]);
return s1;
}
char *Strcat(char *s1,char* s2)//字符串的结合
{
int i=0,j=0;
while(s1[++i]);//寻找s1的结束位置,while(s1[i]){i++}也可
while(s2[j])
{
s1[i+j]=s2[j];
j++;
}
s1[i+j]='/0';//设置合并后的字符串结束
return s1;
}
void main()
{
char string[50];
char copystring[50];
char string1[100];
char string2[50];
int length;
printf("/n Please input string:");
gets(string);
length=Strlen(string);
printf("/n The input string length is %d ",length);
printf("/n/n Please input string:");
gets(string);
Strcpy(copystring,string);
printf("/n string: %s ",string);
printf("/n copystring: %s ",copystring);
printf("/n/n Please input string1:");
gets(string1);
printf("/n Please input string2:");
gets(string2);
printf("/n string1: %s ",string1);
printf("/n string2: %s ",string2);
Strcat(string1,string2);
printf("/n The merge string is: %s /n",string1);
}
也可以for循环改写以上字符串处理函数:
int Strlen(char *s)//字符串的长度计算
{
int i;
for (i=0;s[i]!='/0';)
{
i++;
}
return i;
}
char *Strcpy(char *s1,char *s2))//字符串的复制
{
int i;
for (i=0;s2[i]!='/0';i++)
{
s1[i]=s2[i];
}
s1[i]='/0';
return s1;
}
char *Strcat(char *s1,char* s2))//字符串的结合
{
int i,j;
for(i=0;s1[i]!='/0';i++);
for (j=0;s2[j]!='/0';j++)
{
s1[i+j]=s2[j];
}
s1[i+j]='/0';
return s1;
}
char *Strcpy(char *s1,char *s2)//字符串复制函数,while循环只用一个变量
{
int i=0;
while (s1[i]=s2[i])
{
i++;
}
return s1;
}
最后
以上就是小巧金鱼为你收集整理的字符串基本处理函数(strlen,strcpy,strcat)的全部内容,希望文章能够帮你解决字符串基本处理函数(strlen,strcpy,strcat)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复