⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splitstr.cpp

📁 本程序作为五子棋对局程序的裁判程序
💻 CPP
字号:
// SplitStr.cpp: implementation of the CSplitStr class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "FiveChessServer.h"
#include "SplitStr.h"
#include <cstring>

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSplitStr::CSplitStr()
{
	SetData("");
	SetSequenceAsOne(TRUE);
	SetSplitFlag(" ");//以空格为切分标志
}

CSplitStr::~CSplitStr()
{

}

//设置文本函数
void CSplitStr::SetData(CString sData)
{
	m_sData=sData;
	m_sData.TrimLeft();//删除字符串左边的空格(无论左边有多少个空格均被全部删除)
	m_sData.TrimRight();//删除字符串右边的空格(无论右边有多少个空格均被全部删除)
}

//得到被切分的文本
CString CSplitStr::GetData()
{
	return m_sData;
}
//切分操作函数
void CSplitStr::GetSplitStrArray(CStringArray &array)
{
	CString sData=GetData();                          //得到被切分的文本
	CString sSplitFlag=GetSplitFlag();                //得到切分标志
	if (sData.Right(1)!=sSplitFlag) sData+=sSplitFlag;//Right得到右边第一个字符

	CString sTemp;
	int pos=-1;
	while ((pos=sData.Find(sSplitFlag,0))!=-1){//从0位开始
		sTemp = sData.Left(pos);//左边pos个字符
		if (!GetSequenceAsOne()){
			array.Add(sTemp);
		}
		else{
			if (!sTemp.IsEmpty()&&sTemp!="")
				//连续的分隔符视为单个处理
			{
				array.Add(sTemp);
			}
		}
		sData= sData.Right(sData.GetLength()-pos-1);
	}
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -