cirbuf.cpp

来自「一个很好的计算文字数目的例子,现在一个缺点就是计算中文的时候可能不是很准确」· C++ 代码 · 共 44 行

CPP
44
字号
//////////		cirbuf.cpp		////////////

#include <iostream>
#include "cirbuf.h"
using namespace std;

cirbuf::cirbuf(int s /*=D_SIZE*/)
{
	head = tail = length =0;
	size = s;
	cb = new char[s];
}

cirbuf::~cirbuf()
{
	delete [] cb;
}

int cirbuf::produce(char c)
{
	if ( isFull() )
	{
		cerr<<"produce: buffer full"<<endl;
		return -1;
	}
	cb[tail] = c;
	length++;
	incr(tail);
	return 0;
}

int cirbuf::consume()
{
	char c;
	if ( isEmpty() )
	{
		cerr<<"consume: buffer empty"<<endl;
		return -1;
	}
	c = cb[head];
	length--;
	incr(head);
	return c;
}

⌨️ 快捷键说明

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