zoukankan      html  css  js  c++  java
  • 替换字符串中指定的字符--随手源码

    void WReplace(wchar_t* pDstOut, wchar_t* pSrcIn,  wchar_t* pSrcRpl,  wchar_t* pDstRpl)
    {
    	wchar_t* pi = pSrcIn;
    	wchar_t* po = pDstOut;
    	
    	int nSrcRplLen = wcslen( pSrcRpl );
    	int nDstRplLen = wcslen( pDstRpl );
    	
    	wchar_t *p = NULL;
    	int nLen = 0;
    	
    	do
    	{
    		// 找到下一个替换点
    		p = wcsstr(pi, pSrcRpl);
    		
    		if (p != NULL) 
    		{
    			// 拷贝上一个替换点和下一个替换点中间的字符串
    			nLen = p - pi;
    			
    			memcpy(po, pi, nLen*sizeof(wchar_t));
    			
    			// 拷贝需要替换的字符串
    			memcpy( po + nLen, pDstRpl, nDstRplLen*sizeof(wchar_t));
    		}
    		else
    		{
    			wcscpy(po, pi);
    			
    			// 如果没有需要拷贝的字符串,说明循环应该结束
    			break;
    		}
    		
    		pi = p + nSrcRplLen;
    		po = po + nLen + nDstRplLen;
    		
    	} while (p != NULL);
    }
  • 相关阅读:
    MongoDB数据类型
    杭电1257
    杭电1716
    杭电1997
    杭电1492
    杭电1208
    杭电1290
    杭电1087
    杭电1568
    杭电1398
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693403.html
Copyright © 2011-2022 走看看