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

📄 aslofstream.h

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

#if !defined(AFX_ASLOFSTREAM_H__6EBA68B2_1EE7_4F89_BBD4_3597C4E5A739__INCLUDED_)
#define AFX_ASLOFSTREAM_H__6EBA68B2_1EE7_4F89_BBD4_3597C4E5A739__INCLUDED_


#include <fstream>
using namespace std;

class CaslOFStream : public ofstream  
{
public:
  CaslOFStream() : ofstream()
  {
  }

  CaslOFStream( const char* szName, int nMode = ios::out | ios::binary) : ofstream(szName, nMode)
  {
  }

  /*
  CaslOFStream(filedesc fd ) : ofstream(fd)
  {
    
  }
  */
  /*
  CaslOFStream( filedesc fd, char* pch, int nLength ) : ofstream(fd, pch, nLength)
  {
    
  }
  */
	virtual ~CaslOFStream()
  {
  }
public:
  //////////////////////////////////////////////////////////////////
  //函数名称:
  //函数功能:自定义Casl文件输出流operator
  //         用于将一个int型的数据(2个Byte输出)输出到目标文件输出流中
  //入口参数:无
  //出口参数:无
  //返回值:无
  //开发人员:杨军
  //开发日期:2004-3-19
  //修改人员:
  //修改日期:
  //////////////////////////////////////////////////////////////////
  CaslOFStream& operator << (int& argData)
  {
    unsigned char * pTemp = (unsigned char*)&argData;
    //在当前Casl环境下,只需要为int型数据分配2Byte的空间
    *this << *(pTemp) << *(pTemp + 1);
    //<< *(pTemp + 2) << *(pTemp + 3);
    return *this;
  }

  //////////////////////////////////////////////////////////////////
  //函数名称:
  //函数功能:自定义Casl文件输出流operator
  //         用于将一个U2(无符号16bit)型的数据完整(2个Byte全部输出)输出到目标文件输出流中
  //入口参数:无
  //出口参数:无
  //返回值:无
  //开发人员:杨军
  //开发日期:2004-3-19
  //修改人员:
  //修改日期:
  //////////////////////////////////////////////////////////////////
  CaslOFStream& operator << (U2& argData)
  {
    unsigned char * pTemp = (unsigned char*)&argData;
    //在当前Casl环境下,只需要为int型数据分配2Byte的空间
    *this << *(pTemp) << *(pTemp + 1);
    return *this;
  }

  //////////////////////////////////////////////////////////////////
  //函数名称:
  //函数功能:自定义Casl文件输出流operator
  //         用于将一个char * 型的数据中的每个字符以Casl中的字符数据格式(一个char占两个字节)
  //         低字节为字符的ASCII码,高字节为零
  //         完整输出到目标文件输出流中
  //入口参数:无
  //出口参数:无
  //返回值:无
  //开发人员:杨军
  //开发日期:2004-3-19
  //修改人员:
  //修改日期:
  //////////////////////////////////////////////////////////////////
  CaslOFStream& operator << (char * argData)
  {
    if (NULL == argData)
    {
      return *this;
    }
    int nLen = strlen(argData);
    int i = 0;
    char chEmpty = '\0';
    for (i = 0; i < nLen; i++)
    {
      *this << *(argData + i);
      *this << (char)chEmpty;
    }
    return *this;
  }

};



#endif // !defined(AFX_ASLOFSTREAM_H__6EBA68B2_1EE7_4F89_BBD4_3597C4E5A739__INCLUDED_)

⌨️ 快捷键说明

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