DragonNest/Server/ServerCommon/KRAZ/StrToActozStr.cpp

48 lines
2.1 KiB
C++
Raw Permalink Normal View History

#include "Stdafx.h"
#include "StrToActozStr.h"
#include <strsafe.h>
string StrChangeStr2(string sSourceStr, string sTargetStr, string sSubStr);
int StrToActozStr2(const char *_szInbuf, char *_szOutbuf) // <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> Actoz <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><>ȯ.
{
string strResult;
strResult = _szInbuf;
strResult = StrChangeStr2(strResult, "\\_" , "\\_0"); //"\\_"<22><><EFBFBD>ڸ<EFBFBD> "\\_0"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, "\n" , "\\_1"); //"\n" <20><><EFBFBD>ڸ<EFBFBD> "\\_1"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, "\r" , "\\_2"); //"\r" <20><><EFBFBD>ڸ<EFBFBD> "\\_2"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, " " , "\\_3"); //" " <20><><EFBFBD>ڸ<EFBFBD> "\\_3"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, "\"" , "\\_4"); //"\"" <20><><EFBFBD>ڸ<EFBFBD> "\\_4"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, "'" , "\\_5"); //"'" <20><><EFBFBD>ڸ<EFBFBD> "\\_5"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, "`" , "\\_6"); //"`" <20><><EFBFBD>ڸ<EFBFBD> "\\_6"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, ":" , "\\_7"); //":" <20><><EFBFBD>ڸ<EFBFBD> "\\_7"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
strResult = StrChangeStr2(strResult, ";" , "\\_8"); //";" <20><><EFBFBD>ڸ<EFBFBD> "\\_8"<22><><EFBFBD>ڷ<EFBFBD> <20><>ȯ
int iOutBufSize = (int)strlen((char *)strResult.c_str());
memset(_szOutbuf, 0x00, iOutBufSize+1);
StringCchCopyA(_szOutbuf, iOutBufSize+1, (char *)strResult.c_str()); // <20><>ȯ<EFBFBD><C8AF> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><>ȯ.
return iOutBufSize;
}
string StrChangeStr2(string _strSource, string _strTarget, string _strSub)//<2F><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD> _strTarget<65><74> ã<>Ƽ<EFBFBD> _strSub<75><62> <20><>ȯ <20><> String <20><><EFBFBD><EFBFBD> <20>ѱ<EFBFBD>..
{
int i = 0;
string strResult ="";
string strTmpStrFirst ="";
while((int)_strSource.find(_strTarget) != -1){ //<2F><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(_strTarget)<29><> ã<><C3A3>.
i = (int)_strSource.find(_strTarget); //Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(_strTarget)<29><> ã<>Ҵٸ<D2B4> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD>.
strTmpStrFirst = _strSource.substr(0, i); //<2F><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> strTmpStrFirst <20><> <20><><EFBFBD><EFBFBD>.
_strSource.erase(0,i+_strTarget.length());//<2F><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ+Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(_strTarget)<29><><EFBFBD><EFBFBD> <20><><EFBFBD>̱<EFBFBD><CCB1><EFBFBD> <20><><EFBFBD><EFBFBD>.
strResult = strResult+strTmpStrFirst+_strSub;//strResult <20><> strTmpStrFirst(<28><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڿ<EFBFBD>)+_strSub(<28><>ȯ<EFBFBD><C8AF>)<29><> <20><><EFBFBD>Ѵ<EFBFBD>.
}
strResult = strResult + _strSource;//<2F><>ȯ<EFBFBD><C8AF> <20><><EFBFBD><EFBFBD> <20><>ȯ<EFBFBD><C8AF> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD>.
return strResult; //<2F><>ȯ<EFBFBD><C8AF> <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ѱ<EFBFBD>.
}