一度に 1 文字ずつ読み取るクラスのプログラムを C で作成する必要があり、scanf を使用する必要があります。キーボードからの入力のみで機能するようになりましたが、先生はファイルリダイレクトでもコードをテストします。
int end; //return value of scanf
int length1; //length of string exp1
char temp, //temp char for input
char exp1[81]; //string
printf ("Please enter in a regular expression:\n");
end = scanf ("%c", &temp);
while (temp != '\n' || end == 1) { //check if end of input
length1 = check(temp, length1, exp1); //returns length of exp1
end = scanf ("%c", &temp); //scan next char for loop
}
私はこの小さな問題を何時間も理解しようとしてきたので、どんな指針も役に立ちます。ありがとう!
編集: if ステートメントで kbhit() 関数を使用して、入力を入力したかどうか、または入力がファイルからのものかどうかを確認しようとしました。しかし、私はconio.hを持っていません.scanfを使用している間に代替手段はありますか?