📄 sfile.cxx
字号:
/*
* sfile.cxx
*
* Structured file I/O channel.
*
* Portable Windows Library
*
* Copyright (c) 1993-1998 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Portable Windows Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Portions are Copyright (C) 1993 Free Software Foundation, Inc.
* All Rights Reserved.
*
* Contributor(s): ______________________________________.
*
* $Log: sfile.cxx,v $
* Revision 1.2 1999/03/09 08:18:24 robertj
* Adjustment found during documentation frenzy.
*
* Revision 1.1 1998/09/24 07:25:49 robertj
* Initial revision
*
*/
#ifdef __GNUC__
#pragma implementation "sfile.h"
#endif
#include <ptlib.h>
///////////////////////////////////////////////////////////////////////////////
// PStructuredFile
PStructuredFile::PStructuredFile()
{
structureSize = 0;
structure = NULL;
numElements = 0;
}
PStructuredFile::PStructuredFile(OpenMode mode, int opts)
: PFile(mode, opts)
{
structureSize = 0;
structure = NULL;
numElements = 0;
}
PStructuredFile::PStructuredFile(const PFilePath & name, OpenMode mode, int opts)
: PFile(name, mode, opts)
{
structureSize = 0;
structure = NULL;
numElements = 0;
}
BOOL PStructuredFile::Read(void * buffer)
{
PAssert(structureSize > 0, PInvalidParameter);
if (!PFile::Read(buffer, structureSize))
return FALSE;
if (GetLastReadCount() != structureSize)
return FALSE;
// Translate all structure elements according to endian-ness.
return TRUE;
}
BOOL PStructuredFile::Write(const void * buffer)
{
PAssert(structureSize > 0, PInvalidParameter);
// Translate all structure elements according to endian-ness.
return PFile::Write(buffer, structureSize);
}
void PStructuredFile::SetStructure(Element * struc, PINDEX numElem)
{
structure = struc;
numElements = numElem;
}
// End Of File ///////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -