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

📄 qvinput.h

📁 Windows上的MUD客户端程序
💻 H
字号:
#ifndef  _QV_INPUT_
#define  _QV_INPUT_

#include <QvDict.h>
#include <QvString.h>

class QvNode;
class QvDB;

class QvInput {
 public:

    QvInput();
    ~QvInput();

    static float	isASCIIHeader(const char *string);
    void		setFilePointer(FILE *newFP);
    FILE *		getCurFile() const { return fp; }
    float		getVersion();
    virtual QvBool		get(char &c);
    QvBool		read(char	    &c);
    QvBool		read(QvString       &s);
    QvBool		read(QvName	    &n, QvBool validIdent = FALSE);
    QvBool		read(int	    &i);
    QvBool		read(unsigned int   &i);
    QvBool		read(short	    &s);
    QvBool		read(unsigned short &s);
    QvBool		read(long	    &l);
    QvBool		read(unsigned long  &l);
    QvBool		read(float	    &f);
    QvBool		read(double	    &d);
    virtual QvBool		eof() const;
    void		getLocationString(QvString &string) const;
    virtual void		putBack(char c);
    void		putBack(const char *string);
    void		addReference(const QvName &name, QvNode *node);
    QvNode *		findReference(const QvName &name) const;

	// Added by VSP for Async notification
	#if defined(WIN32) ||  defined(WIN16)
	void*		GetAsyncNotificationInfo() const		{ return pNotifyInfo; }
	void 		SetAsyncNotificationInfo( void *pObj )		
												{ pNotifyInfo = pObj; }
	#endif

  protected:
    FILE		*fp;		// File pointer
    int			lineNum;	// Number of line currently reading
    float		version;	// Version number of file
    QvBool		readHeader;	// TRUE if header was checked for A/B
    QvBool		headerOk;	// TRUE if header was read ok
    QvDict		refDict;	// Node reference dictionary
    QvString		backBuf;
    int			backBufIndex;
    void*		pNotifyInfo; // Added by vsp		

    QvBool		checkHeader();

    QvBool		skipWhiteSpace();

    QvBool		readInteger(long &l);
    QvBool		readUnsignedInteger(unsigned long &l);
    QvBool		readReal(double &d);
    QvBool		readUnsignedIntegerString(char *str);
    int			readDigits(char *string);
    int			readHexDigits(char *string);
    int			readChar(char *string, char charToRead);

friend class QvNode;
friend class QvDB;
};

#endif /* _QV_INPUT_ */

⌨️ 快捷键说明

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