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

📄 aslifstream.h

📁 这是一个软件水平资格考试中使用的CASL汇编语言的编译器,实现文件中包括一个编译器,一个虚拟机,一个类似于Debug的调试器.
💻 H
字号:
// aslIFStream.h: interface for the CaslIFStream class.
// 功能描述: 自定义文件输入流
// 开发人员: 杨军
// 开发日期: 2004-3-19
//////////////////////////////////////////////////////////////////////

#ifndef __CASL_IFSTREAM_DEF
#define __CASL_IFSTREAM_DEF

#include <fstream>
#include "ObjFileDataType.h"

class CaslIFStream : public ifstream  
{
public:
  CaslIFStream() : ifstream()
  {
  }

  CaslIFStream( const char* szName, int nMode = ios::in | ios::binary) : ifstream(szName, nMode)
  {
    
  }  
	virtual ~CaslIFStream()
  {
  }
public:
  //////////////////////////////////////////////////////////////////
  //函数名称:
  //函数功能:自定义Casl文件输入流operator  >> 
  //         用于将一个int型的数据(2个Byte输出)读到指定的int变量中
  //入口参数:无
  //出口参数:无
  //返回值:无
  //开发人员:杨军
  //开发日期:2004-3-19
  //修改人员:
  //修改日期:
  //////////////////////////////////////////////////////////////////
  CaslIFStream& operator >> ( int& argData)
  {
    argData = 0;
    char * pTemp = (char*)&argData;
    this->read(pTemp, 2);
    return *this;
  }

  //////////////////////////////////////////////////////////////////
  //函数名称:
  //函数功能:自定义Casl文件输入流operator  >> 
  //         用于将一个U2型的数据(16bit型)(2个Byte输出)读到指定的int变量中
  //入口参数:无
  //出口参数:无
  //返回值:无
  //开发人员:杨军
  //开发日期:2004-5-14
  //修改人员:
  //修改日期:
  //////////////////////////////////////////////////////////////////
  CaslIFStream& operator >> ( U2& argData)
  {
    argData = 0;
    char * pTemp = (char*)&argData;
    this->read(pTemp, 2);
    return *this;
  }

  CaslIFStream& operator >> (unsigned char& argData)
  {
    this->read((char*)&argData, 1);
    return *this;
  }

  CaslIFStream& operator >> (char& argData)
  {
    this->read(&argData, 1);
    return *this;
  }

  CaslIFStream& operator >> (signed char& argData)
  {
    this->read((char*)&argData, 1);
    return *this;
  }

  CaslIFStream& operator >> (CaslExeHeader& argData)
  {
    *this >> argData.entryPoint;
    *this >> argData.iVisualDebugInfoSize;
    *this >> argData.variableAreaSize;
    *this >> argData.constAreaSize;
    return *this;
  }
};


#endif 

⌨️ 快捷键说明

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