1*f6dc9357SAndroid Build Coastguard Worker // Common/StdInStream.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_COMMON_STD_IN_STREAM_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_COMMON_STD_IN_STREAM_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include <stdio.h> 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "MyString.h" 9*f6dc9357SAndroid Build Coastguard Worker #include "MyTypes.h" 10*f6dc9357SAndroid Build Coastguard Worker 11*f6dc9357SAndroid Build Coastguard Worker class CStdInStream 12*f6dc9357SAndroid Build Coastguard Worker { 13*f6dc9357SAndroid Build Coastguard Worker FILE *_stream; 14*f6dc9357SAndroid Build Coastguard Worker // bool _streamIsOpen; 15*f6dc9357SAndroid Build Coastguard Worker public: 16*f6dc9357SAndroid Build Coastguard Worker int CodePage; 17*f6dc9357SAndroid Build Coastguard Worker 18*f6dc9357SAndroid Build Coastguard Worker CStdInStream(FILE *stream = NULL): _stream(stream)19*f6dc9357SAndroid Build Coastguard Worker _stream(stream), 20*f6dc9357SAndroid Build Coastguard Worker // _streamIsOpen(false), 21*f6dc9357SAndroid Build Coastguard Worker CodePage(-1) 22*f6dc9357SAndroid Build Coastguard Worker {} 23*f6dc9357SAndroid Build Coastguard Worker 24*f6dc9357SAndroid Build Coastguard Worker /* 25*f6dc9357SAndroid Build Coastguard Worker ~CStdInStream() { Close(); } 26*f6dc9357SAndroid Build Coastguard Worker 27*f6dc9357SAndroid Build Coastguard Worker bool Open(LPCTSTR fileName) throw(); 28*f6dc9357SAndroid Build Coastguard Worker bool Close() throw(); 29*f6dc9357SAndroid Build Coastguard Worker */ 30*f6dc9357SAndroid Build Coastguard Worker 31*f6dc9357SAndroid Build Coastguard Worker // returns: 32*f6dc9357SAndroid Build Coastguard Worker // false, if ZERO character in stream 33*f6dc9357SAndroid Build Coastguard Worker // true, if EOF or '\n' 34*f6dc9357SAndroid Build Coastguard Worker bool ScanAStringUntilNewLine(AString &s); 35*f6dc9357SAndroid Build Coastguard Worker bool ScanUStringUntilNewLine(UString &s); 36*f6dc9357SAndroid Build Coastguard Worker // bool ReadToString(AString &resultString); 37*f6dc9357SAndroid Build Coastguard Worker Eof()38*f6dc9357SAndroid Build Coastguard Worker bool Eof() const throw() { return (feof(_stream) != 0); } Error()39*f6dc9357SAndroid Build Coastguard Worker bool Error() const throw() { return (ferror(_stream) != 0); } 40*f6dc9357SAndroid Build Coastguard Worker 41*f6dc9357SAndroid Build Coastguard Worker int GetChar(); 42*f6dc9357SAndroid Build Coastguard Worker }; 43*f6dc9357SAndroid Build Coastguard Worker 44*f6dc9357SAndroid Build Coastguard Worker extern CStdInStream g_StdIn; 45*f6dc9357SAndroid Build Coastguard Worker 46*f6dc9357SAndroid Build Coastguard Worker #endif 47