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

📄 zstrchar.cpp

📁 vc实现的pl0编译器,有读取输出功能-read() -write(),这个源码对初学编译原理者有很好的指导作用,我当初学的时候用了3天看懂了源码,也对编译原理更加理解了,毕竟只学理论不看代码是不可能
💻 CPP
字号:
///////////////////////////////////////////////////////////////
//	字符串类   (By Dwing)
///////////////////////////////////////////////////////////////
#include "zStrchar.h"
///////////////////////////////////////////////////////////////
zStrchar::zStrchar(int vsize)
{
	if(!vsize) vsize=64;
	size=vsize;
	num=0;
	data=new char[size];
}
///////////////////////////////////////////////////////////////
int zStrchar::addc(char vc)
{
	if(num==size) return -1;
	data[num++]=vc;
	return 0;
}
///////////////////////////////////////////////////////////////
int zStrchar::adds(char *vs)
{
	long i=(long)strlen(vs);
	if(num+i>size) return -1;
	strcpy(data+num,vs);
	num+=i;
	return 0;
}
///////////////////////////////////////////////////////////////
long zStrchar::find(char vc)
{
	long i=strchr(data,vc)-data;
	if(i>=0) return i; else return -1;
}
///////////////////////////////////////////////////////////////
int zStrchar::copy(zStrchar &vsc)
{
	if(size!=vsc.getsize())
	{
		size=vsc.getsize();
		delete []data;
		data=new char[size];
		if(!data) return -100;
	}
	num=vsc.getnum();
	memcpy(data,vsc.getdata(),num);
	return 0;
}
///////////////////////////////////////////////////////////////
void zStrchar::print(char *buf)
{
	memcpy(buf,data,num);
	buf[num]=0;
}
///////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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