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

📄 cq.c

📁 C语言源代码及相关资料
💻 C
字号:
#include "cq.h"int		CQ_len ( CQ * pQ ){int	len = 0;	if ( pQ->rd <= pQ->wt )		len = pQ->wt - pQ->rd;	else		len = pQ->wt - pQ->rd + pQ->size;	return len;}int		CQ_space ( CQ * pQ ){int	len = 0;	if ( pQ->wt < pQ->rd )		len = pQ->rd - 1 - pQ->wt;	else		len = pQ->rd - 1 - pQ->wt + pQ->size;	return len;}int		CQ_write_in ( CQ * pQ, unsigned char * pbuf, int nSize ){int		wt = pQ->wt;int		rd = pQ->rd;int		n  = pQ->size;unsignedchar *	q  = pQ->data;unsignedchar *	p  = pbuf;	if ( p == 0 ) return 0;	if ( q == 0 ) return 0;	while ( rd <= wt )	{		if ( wt + 1 >= n  && rd == 0 ) break;		q[ wt++ ] = *p++;		if ( wt >= n ) wt = 0;		if ( --nSize <= 0 ) break;	}	while ( wt < rd - 1 )	{		q[ wt++ ] = *p++;	//	if ( wt >= n ) wt = 0;		if ( --nSize <= 0 ) break;	}	pQ->wt = wt;	return (int)(p - pbuf);}int		CQ_read_out ( CQ * pQ, unsigned char * pbuf, int nSize ){int		wt = pQ->wt;int		rd = pQ->rd;int		n  = pQ->size;unsignedchar *	q  = pQ->data;unsignedchar *	p  = pbuf;	if ( p == 0 ) return 0;	if ( q == 0 ) return 0;	while ( rd != wt )	{		*p++ = q[ rd++ ];		if ( rd >= n ) rd = 0;		if ( --nSize <= 0 ) break;	}	pQ->rd = rd;	return (int)(p - pbuf);}

⌨️ 快捷键说明

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