files.h
来自「各种加密算法的源代码」· C头文件 代码 · 共 59 行
H
59 行
#ifndef FILES_H
#define FILES_H
#include <fstream.h>
#include "cryptlib.h"
#include "filters.h"
class FileErr {};
class OpenErr : public FileErr {};
class ReadErr : public FileErr {};
class WriteErr : public FileErr {};
class FileSource : public Source
{
public:
FileSource(istream &in=cin, boolean pumpAndClose=FALSE,
BufferedTransformation *outQueue = new ByteQueue);
FileSource(const char *filename, boolean pumpAndClose=FALSE,
BufferedTransformation *outQueue = new ByteQueue);
istream& GetStream() {return in;}
unsigned int Pump(unsigned int size);
unsigned long PumpAll();
private:
ifstream file;
istream& in;
};
class FileSink : public Sink
{
public:
FileSink(ostream &out=cout);
FileSink(const char *filename);
ostream& GetStream() {return out;}
void InputFinished();
void Put(byte inByte)
{
out.put(inByte);
#ifdef THROW_EXCEPTIONS
if (out.bad())
throw WriteErr();
#endif
}
void Put(const byte *inString, unsigned int length);
private:
ofstream file;
ostream& out;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?