我设计了一个带有一些状态转换的解析器。现在我想将一个文件重定向到我在 C 中创建的解析器中以提供令牌。
我的设计是这样的,我需要在我的字符串末尾有一个空格(''),也就是说,我需要在从文件或标准输入中读取的字符串后面附加一个空格字符。但问题是索引。为了从我需要做的文件重定向
int length=0;
while((c1=getchar())!=EOF)
{
a[length]=c1;
length ++;
}
a[length-1]=' ';
a[length]=EOF;
从标准输入读取时,我需要做
int length=0;
while((c1=getchar())!=EOF)
{
a[length]=c1;
length ++;
}
a[length]=' ';
a[length+1]=EOF;
输入既可以来自标准输入输入,也可以来自文件重定向(例如 ./a.out < ac)现在我如何根据输入类型将这些合并到我的代码中?