当前位置: 技术问答>linux和unix
fedora下的scanf問題
来源: 互联网 发布时间:2016-01-12
本文导语: 因為是console程序 所以想在一個while中的scanf不斷等待用戶輸入控制 while(1) { printf("please input n"); scanf(...); } 但是發現這樣當第一次輸入並enter後會不斷的滾出scanf前的"please input"而沒有等待輸入的機會 試...
因為是console程序 所以想在一個while中的scanf不斷等待用戶輸入控制
while(1)
{
printf("please input n");
scanf(...);
}
但是發現這樣當第一次輸入並enter後會不斷的滾出scanf前的"please input"而沒有等待輸入的機會 試過這種異常情況在windows中沒有
C++的cout也試過 效果一樣
最後試下來只有getchar()能正常的依次等待輸入 但是這個函數只能讀取一個char 不能接受複雜的控制指令 不知道在fedora下如何才能解決這個"小問題"
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);
}
{
fprintf(stdout, "please input n");
getchar() ;
fscanf(stdin,"%d", &i);
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。