转自:http://blog.sina.com.cn/s/blog_93d2ceba010145c6.html
一、(字符串替换)
| 语法: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); } } } |
二、
(字符串查找)
| 语法: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; } |
三、(字符串截取)
| 语法: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; } |