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

📄 zasmchar.cpp

📁 很好玩的一个小游戏
💻 CPP
字号:
///////////////////////////////////////////////////////////////
//	字符集合类	 (By Dwing)
///////////////////////////////////////////////////////////////
#include "zAsmchar.h"
///////////////////////////////////////////////////////////////
zAsmchar::zAsmchar(int vsize)
{
	if(!vsize) vsize=64;
	size=vsize;
	num=0;
	data=new char[size];
}
///////////////////////////////////////////////////////////////
int zAsmchar::add(char vc)//成功加入返回0
{
	long i;
	for(i=0;i<num;i++)
		if(data[i]==vc) return 1;
	if(num==size) return -1;
	data[num++]=vc;
	return 0;
}
///////////////////////////////////////////////////////////////
int zAsmchar::del(char vc)
{
	long i;
	for(i=0;i<num;i++)
		if(data[i]==vc)
		{
			for(num--;i<num;i++)
				data[i]=data[i+1];
			return 0;
		}
	return 1;
}
///////////////////////////////////////////////////////////////
long zAsmchar::find(char vc)
{
	long i;
	for(i=0;i<num;i++)
		if(data[i]==vc) return i;
	return -1;
}
///////////////////////////////////////////////////////////////
int zAsmchar::copy(zAsmchar &vac)
{
	if(size!=vac.getsize())
	{
		size=vac.getsize();
		if(data) delete []data;
		data=new char[size];
		if(!data) return -100;
	}
	num=vac.getnum();
	memcpy(data,vac.getdata(),num);
	return 0;
}
///////////////////////////////////////////////////////////////
void zAsmchar::and(zAsmchar &vac)
{
	long i;
	for(i=0;i<num;i++)
		if(vac.find(data[i])<0)
		{
			del(data[i]);i--;
		}
}
///////////////////////////////////////////////////////////////
int zAsmchar::or(zAsmchar &vac)//有元素加入则返回0
{
	long i;
	int r,rr=1;
	for(i=0;i<vac.getnum();i++)
	{
		r=add(vac.getdata()[i]);
		if(r==-1) return -1;
		if(r==0) rr=0;
	}
	return rr;
}
///////////////////////////////////////////////////////////////
void zAsmchar::cut(zAsmchar &vac)
{
	long i;
	for(i=0;i<vac.getnum();i++)
		del(vac.getdata()[i]);
}
///////////////////////////////////////////////////////////////
void zAsmchar::print(char *buf)
{
	*buf++='{';
	long i;
	for(i=0;i<num;i++)
	{
		*buf++=data[i];
		if(num-i>1) *buf++=',';
	}
	*buf++='}';
	*buf=0;
}
///////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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