📄 strtok.cpp
字号:
// StrTok.cpp: implementation of the CStrTok class.
//
//////////////////////////////////////////////////////////////////////
#include "StrTok.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CStrTok::CStrTok(char * pData, char * pSeps)
{
m_pData = pData;
m_pSeps = pSeps;
m_iDataLength = strlen(pData);
m_iCurLoc = 0;
}
CStrTok::~CStrTok()
{
}
char * CStrTok::pGet()
{
register int i = 0;
char cNextData;
BOOL bFlag;
ZeroMemory(m_cToken, sizeof(m_cToken));
while (m_iCurLoc < m_iDataLength) {
if (m_iCurLoc <= (m_iDataLength - 2))
cNextData = m_pData[m_iCurLoc+1];
else cNextData = NULL;
if (_bIsSeperator(m_pData[m_iCurLoc], cNextData))
{
// 促澜 配奴鳖瘤 器牢磐甫 捞悼矫挪饶 配奴阑 馆券茄促.
bFlag = FALSE;
while (bFlag == FALSE) {
if (m_iCurLoc <= (m_iDataLength - 2))
cNextData = m_pData[m_iCurLoc+1];
else cNextData = NULL;
if (_bIsSeperator(m_pData[m_iCurLoc], cNextData)) {
m_iCurLoc++;
}
else bFlag = TRUE;
if (m_iCurLoc >= (m_iDataLength-1)) bFlag = TRUE;
}
return (char *)(&m_cToken);
}
else {
// separator啊 酒聪搁 配奴阑 累己
m_cToken[i] = m_pData[m_iCurLoc];
i++;
m_iCurLoc++;
}
}
if (strlen(m_cToken) != 0) return (char *)(&m_cToken);
return NULL;
}
bool CStrTok::_bIsSeperator(char cData, char cNextData)
{
int i = 0;
if (cData == NULL) return TRUE;
if ((cData == 0x0D) && (cNextData == 0x0A)) return TRUE;
while (m_pSeps[i] != NULL) {
if (m_pSeps[i] == cData) return TRUE;
i++;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -