二、字符串处理
1.字符串替换
语法:
replace(char str[],char key[],char swap[]);
参数:
str[]:在此源字符串进行替换操作
key[]:被替换的字符串,不能为空串
swap[]:替换的字符串,可以为空串,为空串表示在源字符中删除key[]
返回值:
null
注意:
默认str[]长度小于1000,如否,重新设定设定tmp大小
需要 string.h
源程序:
void replace(char str[],char key[],char swap[])
{
int l1,l2,l3,i,j,flag;
char tmp[1000];
l1=strlen(str);
l2=strlen(key);
l3=strlen(swap);
for (i=0;i<=l1-l2;i++)
{
flag=1;
for (j=0;j<l2;j++)
if (str[i+j]!=key[j]) {flag=0;break;}
if (flag)
{
strcpy(tmp,str);
strcpy(&tmp[i],swap);
strcpy(&tmp[i+l3],&str[i+l2]);
strcpy(str,tmp);
i+=l3-1;
l1=strlen(str);
}
}
}
2.字符串查找
语法:
result=strfind(char str[],char key[]);
参数:
str[]:在此源字符串进行查找操作
key[]:被查找的字符串,不能为空串
返回值:
如果查找成功,返回key在str中第一次出现的位置,否则返回-1
注意:
需要 string.h
源程序:
int strfind(char str[],char key[])
{
int l1,l2,i,j,flag;
l1=strlen(str);
l2=strlen(key);
for (i=0;i<=l1-l2;i++)
{
flag=1;
for (j=0;j<l2;j++)
if (str[i+j]!=key[j]) {flag=0;break;}
if (flag) return i;
}
return -1;
}
3.字符串截取
语法:
mid(char str[],int start,int len,char strback[])
参数:
str[]:操作的目标字符串
start:从第start个字符串开始,截取长度为len的字符
len:从第start个字符串开始,截取长度为len的字符
strback[]:截取的到的字符
返回值:
0:超出字符串长度,截取失败;1:截取成功
注意:
需要 string.h
源程序:
int mid(char str[],int start,int len,char strback[])
{
int l,i,k=0;
l=strlen(str);
if (start+len>l) return 0;
for (i=start;i<start+len;i++)
strback[k++]=str[i];
strback[k]='/0';
return 1;
}