iportfromfile.h

来自「用VC++编译的13818-5 MPEG2系统层分析代码」· C头文件 代码 · 共 82 行

H
82
字号
/* Copyright (C) 1995, Tektronix Inc. All Rights Reserved. * *   Usage Restrictions * * License is granted to copy, to use, and to make and to use derivative * works for research and evaluation purposes only. * *   Disclaimer of Warranty * * These software programs are available to the user without any license * fee or royalty on an "as is" basis.  Tektronix Inc. disclaims any and * all warranties, whether express, implied, or statuary, including any * implied warranties or merchantability or of fitness for a particular * purpose.  In no event shall the copyright-holder be liable for any  * incidental, punitive, or consequential damages of any kind whatsoever * arising from the use of these programs. * * This disclaimer of warranty extends to the user of these programs and * user's customers, employees, agents, transferees, successors, and * assigns. * * The Tektronix Inc. does not represent or warrant that the programs * furnished hereunder are free of infringement of any third-party * patents.*//* IPortFromFile is an InputPort that reads from a file */#ifndef iportfromfile_h#define iportfromfile_h#include "InputPort.H"#include "stdio.h"// FIX -- CacheSize should be specified in the constructor call.#define CacheSize 4096#define CYCLE 1#define NOCYCLE 2class IPortFromFile : public InputPort{public:  IPortFromFile (char*, int);protected:  virtual char input_bit ();  virtual char input_byte ();  private:  int cycle_flag;  char* file_name;  int fd;
  FILE* fd2;  char fbuf[CacheSize];  int  flen;  int  bufpos;  char byte;  int pos;  int inc_bit ();  char bit2char ();};/* DOCUMENTATION IPortFromFile is a subclass of InputPort.  It provides implementations for the two virtual funtions input_bit and input_byte and, except for constructors, its public interface is inherited from the base class.  The port can be used in a CYCLE or NOCYCLE modes. When in CYCLE mode the port will loop back to the beginning of the file when the EOF is encountered, thus providing a ongoing stream of bits.  When in NOCYCLE mode the port will call sys_halt when the EOF is reached. File reads are cached to improve performance.  The current cache size is set in the code to 4096. Public methods are:  IPortFromFile (char*, int);    The second (integer) parameter is the cycle flag (either CYCLE or    NOCYCLE).*/#endif

⌨️ 快捷键说明

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