すべての入力関数が同じバッファーを使用していますか? ある本で読んだのですが、プログラムではすべての入力関数が同じバッファを使っていると書いてありました。私のテストに何か問題があるか知りたいですか?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp1;
FILE *fp2;
char ch;
char ch2;
int d;
scanf("%d", &d);
fp1 = fopen("file1.c","r");
fp2 = fopen("file2.c", "r");
while((ch = getc(fp1)) != 'r')
putchar(ch);
putchar('\n');
putchar(ch = getc(fp1));
putchar('\n');
while((ch2 = getc(fp2)) != 'n')
putchar(ch2);
putchar('\n');
putchar(getc(fp1));
putchar('\n');
putchar(ch2 = getc(fp2));
putchar('\n');
putchar(getchar());
putchar('\n');
return 0;
}
file1.c の内容は次のとおりです。最初のもの
file2.c の内容は次のとおりです。
入力したとき:12cd
出力は次のとおりです。
the fi
s
the seco
t
d
c
file1.c file2.c と stdin は 3 つの異なるバッファを使用しているようです。私のテストに何か問題はありますか? どんな助けでも大歓迎です。