fedora下的scanf問題
因為是console程序 所以想在一個while中的scanf不斷等待用戶輸入控制
while(1)
{
printf( "please input \n ");
scanf(...);
}
但是發現這樣當第一次輸入並enter後會不斷的滾出scanf前的 "please input "而沒有等待輸入的機會 試過這種異常情況在windows中沒有
C++的cout也試過 效果一樣
最後試下來只有getchar()能正常的依次等待輸入 但是這個函數只能讀取一個char 不能接受複雜的控制指令 不知道在fedora下如何才能解決這個 "小問題 "
------解决方案--------------------while(1)
{
fprintf(stdout, "please input \n ");
getchar() ;
fscanf(stdin, "%d ", &i);
}