[C++字符串替换函数的实现]

http://developer.51cto.com/art/201002/182459.htm


C++编程语言应方式灵活,一个功能的实现可以采用多种方式来实现。比如对于字符串替换就可以有很多方法来实现,这里主要说一下STL里的WString中的替换,虽然WString自带了一个Replace函数,但是只能替换一次,太不好了,因此单独写了个C++字符串替换函数

C++字符串替换函数代码如下:

 
  1. @brief 实现字符串替换
  2. @param orignStr 源串
  3. @param oldStr 查找的串
  4. @param newStr 替换的新串
  5. @return 返回修改后的串
 
  1. static wstring Replace(const wstring& orignStr, const wstring& oldStr, const wstring& newStr);

[C++字符串替换函数的实现]

 
  1. std::wstring Replace( const wstring& orignStr, const wstring& oldStr, const wstring& newStr )
  2. {
  3. size_t pos = 0;
  4. wstring tempStr = orignStr;
  5. wstring::size_type newStrnewStrLen = newStr.length();
  6. wstring::size_type oldStroldStrLen = oldStr.length();
  7. while(true)
  8. {
  9. pos = tempStr.find(oldStr, pos);
  10. if (pos == wstring::npos) break;
  11. tempStr.replace(pos, oldStrLen, newStr);
  12. pos += newStrLen;
  13. }
  14. return tempStr;
  15. }
以上就是我们对C++字符串替换函数的相关介绍。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


http://blog.youkuaiyun.com/win817/article/details/1540170


int ReplaceStr(char *sSrc, char *sMatchStr, char *sReplaceStr)
{
int StringLen;
char caNewString[strlen(sSrc)];
char *FindPos = strstr(sSrc, sMatchStr);
if( (!FindPos) || (!sMatchStr) )
return -1;
while( FindPos )
{
memset(caNewString, 0, sizeof(caNewString));
StringLen = FindPos - sSrc;
strncpy(caNewString, sSrc, StringLen);
strcat(caNewString, sReplaceStr);
strcat(caNewString, FindPos + strlen(sMatchStr));
strcpy(sSrc, caNewString);
FindPos = strstr(sSrc, sMatchStr);
}
return 0;
}


均未验证,待验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值