【发布时间】:2012-09-06 18:55:07
【问题描述】:
我有一个需要从标准输入读取输入的基本 C 程序。 首先,它通过使用从输入文件中读取
./Program <input
然后它会循环读取,直到没有更多内容为止
while(scanf("%s",command)!=EOF){
printf("%s\n",command);
}
之后我需要再次从键盘读取,但它会继续无限地垃圾邮件从我的输入文件中读取最后一行,而不是让我使用键盘进行输入。
while(1){
scanf("%s",command);
if(!strcasecmp(command,"exit"))
exitProg();
else if(!strcasecmp(command,"help"))
helpMess();
else
printf("Command \"%s\" not recognized, use command \"help\" for a list.\n",command);
}
【问题讨论】:
-
如果将标准输入重定向到一个文件,它将不再连接到终端。
-
有没有办法将它引导回键盘?
-
在某些平台上,是的(但是没有标准方法)。然而,我可能只是将初始文件作为参数并使用常规方法读取它(而不是重定向任何东西)。