用C实现字符串replace函数, 真累, 差点整不出来
来源:互联网 发布:下载网页软件 编辑:程序博客网 时间:2024/04/29 05:50
void replace(char* res, const char* oldstr, char* newstr)
{
if (res == NULL || oldstr == NULL || newstr == NULL)
return;
//alloc memory who bigger
int i = 0;
int oldlen = 0, newlen = 0, difflen = 0;
oldlen = strlen(oldstr);
newlen = strlen(newstr);
if (newlen > oldlen)
difflen = newlen - oldlen;
else
difflen = oldlen - newlen;
char *pt;
while ((pt = strstr(res, oldstr)) != NULL)
{
i = 0;
if (oldlen > newlen) //new string shorten
{
for (i=0; i<newlen; i++)
{
*pt = newstr[i];
pt++;
}
while (*(pt+difflen) != '/0')
{
*pt = *(pt+difflen);
pt++;
}
*pt = '/0';
}
else
{
char *p = (&res[strlen(res)]);
for (p; p != pt; p--)
{
*p = *(p-difflen);
}
i = 0;
while (i < newlen)
{
*pt = newstr[i];
pt++;
i++;
}
}
}
}
int main(int argc, char* argv[])
{
char a[128], b[128];
memset(a, 0, sizeof(a));
strcpy(a, "https://1.1.1.1/nhttps://2.2.2.2/nhttps://3.3.3.3");
printf("%s/n", a);
replace(a, "https://", "");
printf("%s/n", a);
printf("----------------/n");
memset(b, 0, sizeof(b));
strcpy(b, "http://1.1.1.1/nhttp://2.2.2.2/nhttp://3.3.3.3"); //
printf("%s/n", b);
replace(b, "http", "ftp");
printf("%s/n", b);
return 0;
}
- 用C实现字符串replace函数, 真累, 差点整不出来
- C库风格字符串实现CString的Replace函数功能
- C/C++ 字符串replace替换函数
- linux c语言字符串函数replace,indexOf,substring等的实现
- linux c语言字符串函数replace,indexOf,substring等的实现
- split, midex, replace 基于C函数库字符串函数的基本实现
- linux c语言字符串函数replace,indexOf,substring等的实现
- linux c语言字符串函数replace,indexOf,substring等的实现
- 实现一个replace函数替换掉指定c串中子字符串
- linux c语言字符串函数replace,indexOf,substring等的实现
- linux c语言字符串函数replace,indexOf,substring等的实现(转)
- C#不区分大小写的字符串替换(Replace)函数
- 做不出来~~~~真烦。
- C语言 不使用strcpy 函数实现字符串复制功能
- 用c语言实现字符串的拷贝函数(不使用库函数)
- 用C语言实现将int类型转化为字符串,不使用已有的转换函数
- C语言写函数实现接收n个字符串,将以某个字符为开头的字符串打印出来。
- mysql 替换函数replace()实现mysql 替换字符串
- 三个API函数可以运行可执行文件
- javascript实用代码大全(一)超经典★★★★★
- 软件即服务——让CRM抛弃软件
- JavaScript实用技巧集锦
- IT才市最看重的12项技能
- 用C实现字符串replace函数, 真累, 差点整不出来
- C#实现将字符串作为表达式运算
- aspell-15.dll下载
- MYSQL初学者使用指南
- 学习C++的一点体会
- Symbian布局中国,三大智能手机OS未来格局仍未定
- C++开发问题汇总
- 練習/言葉
- ajax静态页面无刷新添加留言,无刷新分页,翻页综合应用