我正在用C编写一个简单的应用程序。我正在Unix环境中工作。C - printf和scanf - 如何终止输入?
我的应用程序正在做一些简单的I/O。我使用printf来提示用户输入一些内容,然后使用scanf来获取输入。
问题是,我不知道如何告诉我的应用程序,我准备在输入值后继续。键入'输入'提供了换行符'\ n',这是有道理的。 Control-d确实允许scanf捕获我的输入,但似乎忽略了任何后续的scanf指令。
有人可以帮我吗?
printf("Enter name\n");
scanf("%s",input);
printf("%s",input);
printf("enter more junk\n")
scanf("%s",morestuff); /* cntrl+d skips this*/
进入不仅增加了一个 '\ n',但也刷新缓冲区。 IO一直等到缓冲区已满或手动刷新为止。 – 2010-08-30 03:33:00