+ -
当前位置:首页 → 问答吧 → stl的replace用法

stl的replace用法

时间:2010-08-10

来源:互联网

有个字符串    char b[] = "lgip=\"Wnms275\",pwd=\"Wnms2007\"";
现在想换成lgip=\"Wnms275\",pwd=\"******\";
想用STL的replace,但好像不太好使

string a = b;

b.replace("pwd\"","\"","******";

这样写的话会导致程序core dump。

该怎么处理好?

作者: liumilan2009   发布时间: 2010-08-10

简单替换下就是了,看看效果怎么样
  1. char *p = strstr(b,"pwd=");
  2.         if(!p)
  3.                 return -1;
  4.         *p = '\0';
  5.         strcat(b,"pwd=\"******\"");
复制代码

作者: north423   发布时间: 2010-08-10

这个不错,
有个疑问
为何        *p = '\0'后就会
b就只等于logip=\"Wnms275\",?

作者: liumilan2009   发布时间: 2010-08-10

'\0'是字符串结束符,strstr找到pwd=中p的位置并将其替换成\0,
b当然就剩下前面的一部分了

作者: north423   发布时间: 2010-08-10

学习了,

作者: liumilan2009   发布时间: 2010-08-10