aslifstream.h

来自「这是一个软件水平资格考试中使用的CASL汇编语言的编译器,实现文件中包括一个编译」· C头文件 代码 · 共 98 行

H
98
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?