我也读过有关此问题的先前问题。fflush(stdin) 在这种情况下对我不起作用。我希望我的程序从管道标准输入读取并从中间的键盘输入继续。
int main()
{
int userin = 3;
read_input();
userin = print_menu();
userin = parse_input(userin);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想从文件中读取数据,该文件作为管道标准传递给程序,例如
int read_input(){
char line[200];
char word[MAX_STRING+1];
int line_number = 0;
while(fgets(line, sizeof(line), stdin) != NULL ){
//do something
printf("%s",line);
line_number++;
}
}
Run Code Online (Sandbox Code Playgroud)
现在 read_input 必须完成从管道输入的读取。“print_menu”必须继续从键盘读取。
int print_menu()
{
int userinput;
char c;
char num[4];
while((c=getchar()) != '\n' && c != EOF && c != '\r');
printf("\n1. Choice 1 \n");
printf("2. Choice 2\n");
printf("3. Exit\n");
printf("Enter your choice (1-3): "); …Run Code Online (Sandbox Code Playgroud)