platfileio.h

来自「计算机代数系统」· C头文件 代码 · 共 107 行

H
107
字号
#include <stdio.h>#include <string.h>class LispLocalFile : public LispBase{public:    LispLocalFile(LispEnvironment& aEnvironment,                  LispCharPtr aFileName, LispBoolean aRead,                  InputDirectories& aInputDirectories);    virtual ~LispLocalFile();    virtual void Delete();    FILE* iFile;    LispEnvironment& iEnvironment;    LispInt iOpened;};class StdFileInput : public LispInput{public:    virtual LispChar Next();    virtual LispChar Peek();    virtual LispBoolean EndOfStream();    void Rewind();    virtual LispCharPtr StartPtr();    virtual LispInt Position();    virtual void SetPosition(LispInt aPosition);protected:    StdFileInput(FILE* aFile,InputStatus& aStatus);    StdFileInput(LispLocalFile& aFile,InputStatus& aStatus);protected:    FILE* iFile;};/** CachedStdFileInput : same as StdFileInput, but with caching * for speed */class CachedStdFileInput : public StdFileInput{public:    CachedStdFileInput(LispLocalFile& aFile,InputStatus& aStatus);    ~CachedStdFileInput() ;    virtual LispChar Next();    virtual LispChar Peek();    virtual LispBoolean EndOfStream();    void Rewind();    virtual LispCharPtr StartPtr();    virtual LispInt Position();    virtual void SetPosition(LispInt aPosition);    private:    LispCharPtr iBuffer;    LispInt iCurrentPos;    LispInt iNrBytes;};#define FILEINPUT CachedStdFileInputclass StdFileOutput : public LispOutput{public:    StdFileOutput(LispLocalFile& aFile);    StdFileOutput(FILE* aFile);    virtual void PutChar(LispChar aChar);public:    FILE* iFile;};class StdUserOutput : public StdFileOutput{public:    StdUserOutput() : StdFileOutput(stdout) {};};class StdUserInput : public StdFileInput{public:    StdUserInput(InputStatus& aStatus) : StdFileInput(stdin,aStatus) {};};class CachedStdUserInput : public StdUserInput{public:    CachedStdUserInput(InputStatus& aStatus);public:    virtual LispChar Next();    virtual LispChar Peek();    virtual LispBoolean EndOfStream();    void Rewind();    virtual LispCharPtr StartPtr();    virtual LispInt Position();private:    LispString iBuffer;    LispInt iCurrentPos;};void InternalFindFile(LispCharPtr aFileName, InputDirectories& aInputDirectories,                     LispCharPtr aFoundFile);

⌨️ 快捷键说明

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