(接上篇)根据这个表来构造程序,程序的核心是下面的这个函数,
/********************************************************************
以下为主分析函数
从输入文件里面读,把分析结果写到输出文件中
参数:fpin :输入文件指针 fpout: 输出文件指针
********************************************************************/
void parse(FILE* fpin,FILE* fpout)
{
char arr[MAXBUF];//读出的最长的字符串不超过MAXBUF,MAXBUF定义为255,够长了我想
int i=0;//分析含字母的字符串用
int j=0;//分析纯数字的字符串用
while(1)
{
fscanf(fpin,"%c",&ch);//从输入文件中读入一个字符
if( ch==' '|| ch =='/t')//过滤掉空格和tab
;
else if( ch=='/n')//回车换行符,为下面进行错误判断
lineno++;
else if( IsDigit(ch))//读入的是数字
{
while(IsDigit(ch))
{
arr[j] = ch;
j++;
fscanf(fpin,"%c",&ch);
}
fseek(fpin,-1L,SEEK_CUR);//