c语言编程:查找并替换此英文文本文件中某字符串
1个回答
展开全部
//************************************
// 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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询