いくつかの状態遷移を持つパーサーを設計しました。ここで、ファイルを C で作成したパーサーにリダイレクトして、トークンを提供したいと考えています。
私の設計では、文字列の末尾にスペース (' ') が必要です。つまり、ファイルまたは stdin から読み取った文字列にスペース文字を追加する必要があります。しかし、問題はインデックスです。私がする必要があるファイルからリダイレクトするために
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;
入力は、stdin 入力またはファイル リダイレクトの両方から取得できます (例: ./a.out < ac) 入力のタイプに基づいて、これらをコードに組み込むにはどうすればよいですか?