gets fgetsについて
対話式のプログラムを作成したのですが、fgetsのところで勝手に文字が入力されてるような処理になってしまい、こちら側から入力できません。
fgetsのところで通常通り入力できるようにするにはどうしたら良いのでしょうか?
コードは以下のとおりです。
#include <stdio.h>
#include <string.h>
main()
{
int kazu;
char sentaku[1];
char string[10];
printf("文字を入力してください\n"); /*文字入力要求のメッセージ*/
fgets(sentaku,1,stdin); /*確認時にenterを読み込まないようにfgetsで文字取得*/
sscanf(sentaku,"%d",&kazu);
putchar(sentaku[1]); /*putcharを使ってmojiを画面出力*/
putchar('\n'); /*改行コードを出力*/
printf("ここから先に進みますか?-Y/N->\n");
fgets(sentaku,1,stdin); /*確認時にenterを読み込まないようにfgetsで対話する*/
sscanf(sentaku,"%d%",&kazu);
if(sentaku[0]==121) /*入力した文字がyだった場合*/
{
strcpy(string,"spring\n"); /*strcpyを使って変数に代入*/
putchar(string[0]); /*putcharを使って画面出力*/
putchar(string[1]);
putchar(string[2]);
putchar(string[3]);
putchar(string[4]);
putchar(string[5]);
}
}
お礼
ありがとうございました