
C++中高效的字符串查找与替换
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文深入探讨了在C++编程语言中实现高效字符串查找和替换的方法及技巧,旨在帮助开发者优化程序性能。
在最近的一个项目中,我需要实现几万字符的查找替换操作。使用CString的Replace函数花了两个小时才完成任务,而改用STL中的string类则大约花费了六分钟时间。最后决定自己动手编写代码,在一秒钟以内完成了替换工作。
以下是具体的实现方式:
```cpp
void CWebTransfer::Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst)
{
char *pi = pInput;
char *po = pOutput;
int nSrcLen = strlen(pSrc);
int nDstLen = strlen(pDst);
while ((pi = strstr(pi, pSrc)) != NULL) {
memmove(po + nDstLen, pi + nSrcLen, strlen(pi - nSrcLen + 1));
memcpy(po, pDst, nDstLen);
po += nDstLen;
pi += nSrcLen;
}
// Copy the remaining part of input to output
strcpy(po, pi);
}
```
以上代码中,函数`Substitute()`接收四个参数:输入字符串、输出字符串以及需要替换的源字符和目标字符。通过这种方式实现了高效的查找与替换操作。
全部评论 (0)


