我正在用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