📄 aslofstream.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 + -