/*
....[@@@..[@@@..............[@.................. MUD++ is a written from
....[@..[@..[@..[@..[@..[@@@@@....[@......[@.... scratch multi-user swords and
....[@..[@..[@..[@..[@..[@..[@..[@@@@@..[@@@@@.. sorcery game written in C++.
....[@......[@..[@..[@..[@..[@....[@......[@.... This server is an ongoing
....[@......[@..[@@@@@..[@@@@@.................. development project. All
................................................ contributions are welcome.
....Copyright(C).1995.Melvin.Smith.............. Enjoy.
------------------------------------------------------------------------------
Melvin Smith (aka Fusion) msmith@falcon.mercer.peachnet.edu
MUD++ development mailing list mudpp-list@spice.com
------------------------------------------------------------------------------
file.h
*/
#include <stdlib.h>
#include <ctype.h>
#include "io.h"
#ifndef FILE_H
#define FILE_H
#define TERM_CHAR '~'
// Implementation in file.cc
class InFile : public IStream
{
private:
char fname[256];
public:
InFile()
{
strcpy( fname, "(filename unknown)" );
}
InFile( const char *name )
: IStream( name )
{
strcpy( fname, name );
}
const char *getFileName() { return fname; }
void error( const char * );
char *getstring( char *buf );
char *getword( char *buf );
int getnum();
unsigned long getlong();
void getbitfield( unsigned long * );
};
class OutFile : public OStream
{
protected:
public:
OutFile()
{
}
OutFile( const char *name )
: OStream( name )
{
}
void putbitfield( const unsigned long *, int );
};
inline void OutFile::putbitfield( const unsigned long * field, int num )
{
*this << num;
for( int i = 0; i < num; i++ )
{
*this << ' ';
*this << field[i];
}
}
#endif