2012-01-13 63 views
2

我需要在C程序中實現,它從stdin讀取未知數量的行。 我知道最大行數是100. 我試圖使用gets,但我不知道何時停止循環。 你能告訴我如何實現它嗎?閱讀未知行數

+0

什麼是你想停止閱讀的條件? – Marki555 2012-01-13 17:35:01

+0

是這個作業嗎? – davogotland 2012-01-13 17:36:46

+0

@davogotland - no.Ii是工作的一部分 – Yakov 2012-01-13 17:38:28

回答

1

這取決於您何時想要您的程序停止。有幾種常見的方法:

  1. 從不:你,直到最終用戶點擊^C,否則終止使用操作系統
  2. 的設施,直到用戶輸入一個特殊的標記,即你的程序運行一個無限循環直到用戶輸入一個空行一行本身
  3. 「關鍵字」 QUITEXIT等(即命中Enter

因爲在你的情況下,最大數量是100,你可以用它作爲達到最大值後自動終止輸入的限制。

+0

@JonathanLeffler當你從標準輸入讀取時,'EOF'肯定是最常見的。但是OP特別提到控制檯,這向我暗示他正在編寫某種交互式程序。 – dasblinkenlight 2012-01-13 17:45:24

+0

@dasblinkenlight從stdin – Yakov 2012-01-13 17:52:02

+0

讀取的最大值是100,也可以是50 – Yakov 2012-01-13 18:03:30