home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
magazine
/
pcmagazi
/
1992
/
04
/
buffer.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1992-02-05
|
1KB
|
82 lines
// buffer.cpp RHS 11/1/91
#include"buffer.h"
Buffer::Buffer(int size)
{
buffer = NULL;
attribute = 0;
recno = 0L;
Init(size);
}
char *Buffer::Init(int size)
{
if(buffer)
delete buffer;
buffer = new char[size+1];
return buffer;
}
Buffer::~Buffer(void)
{
if(buffer)
delete buffer;
}
BufMgr::BufMgr(void)
{
numbufs = 0;
Buffers = NULL;
}
int BufMgr::Init(int num, int size)
{
if(Buffers && numbufs)
delete [numbufs]Buffers;
numbufs = num;
Buffers = (Buffer **)new Buffer*[numbufs];
if(!Buffers)
return 0;
bufsize = size;
int i;
for(i = 0; i < numbufs; i++)
Buffers[i] = new Buffer(bufsize);
return numbufs;
}
BufMgr::~BufMgr(void)
{
if(Buffers)
delete[numbufs]Buffers;
}
#if defined(MAIN)
#include<stdio.h>
void main(void)
{
BufMgr b;
b.Init(40,50);
int i;
for(i = 0; i < 40; i++)
{
sprintf(b[i]->buffer,"This is buffer number %02d!",i);
b[i]->attribute = i;
b[i]->recno = i*1L;
}
for(i = 0; i < 40; i++)
printf("%s @ %p Attribute=%02d Recno=%02ld\n",
&b[i]->buffer,
b[i]->buffer,
b[i]->attribute,
b[i]->recno);
}
#endif