skyspark

替换文本串中指定字符串为另外一个字符(串)

#include #include #include BOOL ReplaceString(TCHAR* strSource,TCHAR* Seprater,TCHAR *strDest,TCHAR ReplaceChar) { TCHAR *strTemp=strSource; if (NULL==_tcsstr(strTemp,Seprater)) { _tcscpy(strDest,strSource); return TRUE; } unsigned short i=0,j=0; while(i<_tcslen(strSource)) { strTemp=_tcsstr(strTemp,Seprater); if(NULL==strTemp) { for(i;i<_tcslen(strSource);i++) strDest[j++]=strSource[i]; strDest[j]='\0'; break; } for (i;i<(strTemp-strSource);i++) { strDest[j]=strSource[i]; j++; } strDest[j++]=ReplaceChar;//'<'; i+=4; strTemp+=4; } return TRUE; } void main() { TCHAR *strSour="abcdefgh<ijklmno>pqrstuvwxyz"; TCHAR *strDest= new TCHAR[(_tcslen(strSour)+1)*sizeof(char)]; TCHAR *strTemp= new TCHAR[(_tcslen(strSour)+1)*sizeof(char)];; TCHAR *strReplace="<"; ReplaceString(strSour,_T("<"),strTemp,'<'); ReplaceString(strTemp,_T(">"),strDest,'>');