scanf("%d",&a);
fflush(stdin);
fgets(ch,SIZE,stdin); //SIZE=100 and ch is a char array
我刚刚只使用了这部分代码。它工作正常。但是当我使用file.exe < input.txt > output.txt
从cmnd prmpt执行此程序时,它在output.txt文件中给出了一个垃圾值。
答案 0 :(得分:1)
您可以使用stdin
或getchar
:
fgetc(stdin)
static void flush_stdin(void)
{
int c;
while ((c = fgetc(stdin)) != '\n' && c != EOF);
}
scanf("%d",&a);
flush_stdin();
fgets(ch,SIZE,stdin); //SIZE=100 and ch is a char array