File: StdInStream.h

package info (click to toggle)
7zip 24.09%2Bdfsg-8
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 13,436 kB
  • sloc: cpp: 206,595; ansic: 39,085; asm: 4,357; makefile: 2,188; sh: 162
file content (49 lines) | stat: -rwxr-xr-x 986 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Common/StdInStream.h

#ifndef ZIP7_INC_COMMON_STD_IN_STREAM_H
#define ZIP7_INC_COMMON_STD_IN_STREAM_H

#include <stdio.h>

#include "MyString.h"
#include "MyTypes.h"

class CStdInStream
{
  FILE *_stream;
  // bool _streamIsOpen;
public:
  int CodePage;

  CStdInStream(FILE *stream = NULL):
      _stream(stream),
      // _streamIsOpen(false),
      CodePage(-1)
      {}

  /*
  ~CStdInStream() { Close(); }
  */

  operator FILE *() { return _stream; }
  /*
  bool Open(LPCTSTR fileName) throw();
  bool Close() throw();
  */

  // returns:
  //   false, if ZERO character in stream
  //   true, if EOF or '\n'
  bool ScanAStringUntilNewLine(AString &s);
  bool ScanUStringUntilNewLine(UString &s);
  // bool ReadToString(AString &resultString);

  bool Eof() const throw() { return (feof(_stream) != 0); }
  bool Error() const throw() { return (ferror(_stream) != 0); }

  int GetChar();
};

extern CStdInStream g_StdIn;

#endif