zstkchar.cpp

来自「预测分析程序源代码」· C++ 代码 · 共 48 行

CPP
48
字号
///////////////////////////////////////////////////////////////
//	字符栈类   (By Dwing)
///////////////////////////////////////////////////////////////
#include "zStkchar.h"
///////////////////////////////////////////////////////////////
zStkchar::zStkchar(int vsize)
{
	if(!vsize) vsize=64;
	size=vsize;
	num=0;
	data=new char[size];
}
///////////////////////////////////////////////////////////////
int zStkchar::push(char vc)
{
	if(num==size) return -1;
	data[num++]=vc;
	return 0;
}
///////////////////////////////////////////////////////////////
int zStkchar::pop(char &vc)
{
	if(!num) return -1;
	vc=data[--num];
	return 0;
}
///////////////////////////////////////////////////////////////
int zStkchar::copy(zStkchar &vsc)
{
	if(size!=vsc.getsize())
	{
		size=vsc.getsize();
		if(data) delete []data;
		data=new char[size];
		if(!data) return -100;
	}
	num=vsc.getnum();
	memcpy(data,vsc.getdata(),num);
	return 0;
}
///////////////////////////////////////////////////////////////
void zStkchar::print(char *buf)
{
	memcpy(buf,data,num);
	buf[num]=0;
}
///////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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