c语言编程:查找并替换此英文文本文件中某字符串

如题所述

//************************************
// Method: strrpl
// FullName: strrpl
// Access: public 
// Returns: void
// Qualifier: 字符串替换函数,能替换所有的要替换的字符串,被替换的字符串和替换的字符串不一定一样长.
// Parameter: char * pDstOut,输出字符串,要保证足够的空间可以存储替换后的字符串.
// Parameter: char * pSrcIn,输入字符串.
// Parameter: char * pSrcRpl,被替换的字符串.
// Parameter: char * pDstRpl,替换后的字符串.
// 注意:以上的字符串均要以 '\0 '结尾.
//************************************

void strrpl(char* pDstOut, char* pSrcIn, const char* pSrcRpl, const char* pDstRpl)

char* pi = pSrcIn; 
char* po = pDstOut; 

int nSrcRplLen = strlen(pSrcRpl); 
int nDstRplLen = strlen(pDstRpl); 

char *p = NULL; 
int nLen = 0; 

do 
{
// 找到下一个替换点
p = strstr(pi, pSrcRpl); 

if(p != NULL) 

// 拷贝上一个替换点和下一个替换点中间的字符串
nLen = p - pi; 
memcpy(po, pi, nLen);

// 拷贝需要替换的字符串
memcpy(po + nLen, pDstRpl, nDstRplLen); 

else 

strcpy(po, pi); 

// 如果没有需要拷贝的字符串,说明循环应该结束
break;


pi = p + nSrcRplLen; 
po = po + nLen + nDstRplLen; 

} while (p != NULL); 
}

温馨提示:答案为网友推荐,仅供参考
相似回答