DragonNest/Server/ServerCommon/KRAZ/StrToActozStr.cpp

48 lines
3.9 KiB
C++
Raw Normal View History

2024-12-20 16:56:44 +08:00
<EFBFBD><EFBFBD>#include "Stdafx.h"
#include "StrToActozStr.h"
#include <strsafe.h>
string StrChangeStr2(string sSourceStr, string sTargetStr, string sSubStr);
int StrToActozStr2(const char *_szInbuf, char *_szOutbuf) // 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD> Actoz 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>.
{
string strResult;
strResult = _szInbuf;
strResult = StrChangeStr2(strResult, "\\_" , "\\_0"); //"\\_"8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_0"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, "\n" , "\\_1"); //"\n" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_1"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, "\r" , "\\_2"); //"\r" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_2"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, " " , "\\_3"); //" " 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_3"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, "\"" , "\\_4"); //"\"" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_4"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, "'" , "\\_5"); //"'" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_5"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, "`" , "\\_6"); //"`" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_6"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, ":" , "\\_7"); //":" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_7"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
strResult = StrChangeStr2(strResult, ";" , "\\_8"); //";" 8<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD> "\\_8"8<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD>
int iOutBufSize = (int)strlen((char *)strResult.c_str());
memset(_szOutbuf, 0x00, iOutBufSize+1);
StringCchCopyA(_szOutbuf, iOutBufSize+1, (char *)strResult.c_str()); // <EFBFBD><EFBFBD>X<EFBFBD><EFBFBD> 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD> <EFBFBD>X<EFBFBD>.
return iOutBufSize;
}
string StrChangeStr2(string _strSource, string _strTarget, string _strSub)//8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> _strTarget|<EFBFBD> ><EFBFBD>D<EFBFBD><EFBFBD> _strSub\<EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD> <EFBFBD><EFBFBD> String <<EFBFBD>\<EFBFBD> <EFBFBD>@<EFBFBD>..
{
int i = 0;
string strResult ="";
string strTmpStrFirst ="";
while((int)_strSource.find(_strTarget) != -1){ //8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>(_strTarget)|<EFBFBD> ><EFBFBD>L<EFBFBD>.
i = (int)_strSource.find(_strTarget); //<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>(_strTarget)|<EFBFBD> ><EFBFBD>X<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD> <EFBFBD>X<EFBFBD>|<EFBFBD> ȥ<EFBFBD>.
strTmpStrFirst = _strSource.substr(0, i); //8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD> <EFBFBD><EFBFBD>Lǀ<EFBFBD>0<EFBFBD> ȥ<EFBFBD><EFBFBD> <EFBFBD>X<EFBFBD>L<EFBFBD><EFBFBD><EFBFBD> strTmpStrFirst <EFBFBD><EFBFBD> ȥ<EFBFBD>.
_strSource.erase(0,i+_strTarget.length());//8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD> <EFBFBD><EFBFBD>Lǀ<EFBFBD>0<EFBFBD> ȥ<EFBFBD><EFBFBD> <EFBFBD>X<EFBFBD>+<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>(_strTarget)<EFBFBD><EFBFBD>X<EFBFBD> 8<EFBFBD>t<EFBFBD>L<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
strResult = strResult+strTmpStrFirst+_strSub;//strResult <EFBFBD><EFBFBD> strTmpStrFirst(8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD> <EFBFBD><EFBFBD>Lǀ<EFBFBD>0<EFBFBD> ȥ<EFBFBD><EFBFBD> <EFBFBD>X<EFBFBD>L<EFBFBD><EFBFBD><EFBFBD> ȥ<EFBFBD><EFBFBD> 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+_strSub(<EFBFBD><EFBFBD>X<EFBFBD><EFBFBD>)|<EFBFBD> T<EFBFBD>\<EFBFBD><EFBFBD><EFBFBD>.
}
strResult = strResult + _strSource;//<EFBFBD><EFBFBD>X<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>X<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>@<EFBFBD> 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
return strResult; //<EFBFBD><EFBFBD>X<EFBFBD><EFBFBD> 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>D<EFBFBD> <EFBFBD>@<EFBFBD>.
}