www.pudn.com > GameGate.rar > Abusive.cpp
#include "stdafx.h"
CWHAbusive::CWHAbusive()
{
}
CWHAbusive::~CWHAbusive()
{
}
BOOL CWHAbusive::LoadAbusiveList()
{
FILE *stream = fopen("Abusive.txt", "r");
if (stream)
{
while(!feof(stream))
{
fscanf(stream, "%s", m_szAbusiveList[m_nCount]);
m_nCount++;
}
fclose(stream);
InsertLogMsgParam(IDS_LOAD_ABUSIVE, &m_nCount, LOGPARAM_INT);
return TRUE;
}
else
InsertLogMsg(IDS_LOADFAIL_ABUSIVE);
return FALSE;
}
void CWHAbusive::ChangeAbusiveText(char *pszText)
{
int nChange;
char *pszSrc, *pszFilter;
for (int i = 0; i < m_nCount; i++)
{
pszSrc = pszText;
pszFilter = &m_szAbusiveList[i][0];
nChange = 0;
while (*pszSrc)
{
if (*pszSrc == *pszFilter)
{
nChange++;
while (*pszFilter != 0)
{
if (*++pszSrc != *++pszFilter) break;
nChange++;
}
if (*pszFilter == 0 && nChange >= (int)(memlen(&m_szAbusiveList[i][0]) - 1))
{
for (int nCnt = nChange; nCnt > 0; nCnt--)
*(pszSrc - nCnt) = '*';
}
pszFilter = &m_szAbusiveList[i][0];
nChange = 0;
}
pszSrc++;
}
}
}