-
Notifications
You must be signed in to change notification settings - Fork 0
/
filecharsource.cpp
executable file
·73 lines (59 loc) · 1.43 KB
/
filecharsource.cpp
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*Copyright 2001
*
* filecharsource.cpp
*
* Author: Gregory Ford [email protected]
* RTF token parser based on:
* rtf2html by Dmitry Porapov <[email protected]>,
* based on earlier work of Chuck Shotton.
* distributed under BSD-style license
* RTF token lists and hashing algorithm based on
* RTF Tools, Release 1.10
* 6 April 1994
* Paul DuBois [email protected]
*
* Copying permitted under GNU licence (see COPYING)
*/
// filecharsource.cpp: implementation of the FileCharSource class.
//
//////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include "charsource.h"
#include "filecharsource.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
FileCharSource::FileCharSource()
{
f = NULL;
}
FileCharSource::~FileCharSource()
{
if (f) fclose(f);
}
FileCharSource::FileCharSource(FILE *fileHandle)
{
f = fileHandle;
}
char FileCharSource::unGetChar(char ch)
{
return ungetc(ch,f);
}
/**************************************/
char FileCharSource::getChar()
{
char ch;
do{
ch=fgetc(f);
} while ((ch=='\r')||(ch=='\n'));
return ch;
}
/**************************************/
FileCharSource::FileCharSource(char *filename)
{
f = fopen( filename, "r" );
}
bool FileCharSource::endOfInput()
{
return (feof( f ) != 0);
}