lin
2025-08-14 dae8bad597b6607a449b32bf76c523423f7720ed
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
// Common/StdInStream.h
 
#ifndef __COMMON_STD_IN_STREAM_H
#define __COMMON_STD_IN_STREAM_H
 
#include <stdio.h>
 
#include "MyString.h"
#include "MyTypes.h"
 
class CStdInStream
{
  FILE *_stream;
  bool _streamIsOpen;
public:
  CStdInStream(): _stream(0), _streamIsOpen(false) {};
  CStdInStream(FILE *stream): _stream(stream), _streamIsOpen(false) {};
  ~CStdInStream() { Close(); }
 
  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