chxavnextline.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:1k
源码类别:

Symbian

开发平台:

Visual C++

  1. /*============================================================================*
  2.  *
  3.  * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
  4.  *
  5.  *============================================================================*/
  6.  
  7. #ifndef _NEXT_LINE_H
  8. #define _NEXT_LINE_H
  9. #include "hxstring.h"
  10. #include "chxavbuffer.h"
  11. #include "chxbody.h"
  12. #include "chxsmartptr.h"
  13. #include "chxmakesmartptr.h"
  14. class CHXAvNextLine : public CHXBody {
  15. public:
  16.     CHXAvNextLine(const CHXString& name="");
  17.     ~CHXAvNextLine();
  18.     bool Open(); // Open file
  19.     void Close(); // Close file
  20.     bool IsOpen() const; // Return true if open
  21.     bool Reset(); // If file rewindable seek to beginning
  22.     bool GetLine(CHXString& line); // Get next line
  23.     bool End() const; // return true if at end of file
  24.     int LineNum() const;        // Current line number
  25. protected:
  26. // replacement for system fgets that
  27. // looks for r in addtion to n
  28.     char* FGetS(CHXAvBuffer& buf, FILE* fp);
  29. private:
  30.     CHXString m_name; // File name: if "" then use stdin
  31.     FILE* m_pFile; // Use stdio for now
  32.     CHXAvBuffer m_buf; // Buffer for reading lines
  33.     int m_lineNum;               // Current line number
  34. };
  35. inline
  36. int CHXAvNextLine::LineNum() const
  37. {
  38.     return m_lineNum;
  39. }
  40. #endif // _NEXT_LINE_H