鍵盤輸入文件結束符


重讀C++ Primer 中以下代碼,發現不知道怎么結束輸入,一旦輸入Ctrl + c,程序結束。

#include <iostream>

int main()
{
  int sum = 0, value;
  while (std::cin >> value)
  {
      sum += value;
  } // while(std::cin>>value)
  std::cout << "Sum is " << sum << std::endl;
  return 0;
}

 

C++ Primer中有詳細描述:

當我們使用istream對象作為條件,結果是測試流的狀態。如果流是有效的(也就是說,如果讀入下一個輸入是可能的)那么測試成功。遇到文件結束符(end-of-file)或遇到無效輸入時,如讀取了一個不是整數的值(針對上述代碼變量value所說),則istream對象是無效的。處於無效狀態的istream對象將導致條件失敗。

 

操作系統使用不同的值作為文件結束符。

windows系統下,Ctrl + z

Unix系統中,包括Mac OS-X,通常用 Ctrl + d


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM