私は次のコードを書きました:
int N;
scanf("%d", &N);
int i;
for (i = 0; i < N; i++) {
char line[LINE_MAX];
if (fgets(line, LINE_MAX, stdin) != NULL) {
// do stuff with line here
printf("%c - %c\n", line[0], line[1]);
}
}
行数を含む入力ファイルがあり、その後に処理したい行数が続きます。だから私は行数をに読みましたN
。その後、私はfgets
それを処理できるようにラインを取得するために使用します。
ただし、fgets
初めてstdinを待つようには見えません。私は常にの出力を取得し-
、それから入力を待ちます。つまり、ループの最初の反復であり、での標準入力を待機せず、私のようにfgets
区切られた2つの空の文字を出力するだけです。-
printf
何故ですか?fgets
毎回入力を待つにはどうすればよいですか?スレッドの問題のように感じます。