日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 读取结束的判断

發布時間:2025/3/12 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 读取结束的判断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cin 可以用來從鍵盤輸入數據;將標準輸入重定向為文件后,cin 也可以用來從文件中讀入數據。在輸入數據的多少不確定,且沒有結束標志的情況下,該如何判斷輸入數據已經讀完了呢?

從文件中讀取數據很好辦,到達文件末尾就讀取結束了。從控制臺讀取數據怎么辦呢?總不能把控制臺關閉吧?這樣程序也運行結束了!

其實,在控制臺中輸入特殊的控制字符就表示輸入結束了:

在 Windows 系統中,通過鍵盤輸入時,按 Ctrl+Z 組合鍵后再按回車鍵,就代表輸入結束。在 UNIX/Linux/Mac OS 系統中,Ctrl+D 代表輸入結束。

不管是文件末尾,還是 Ctrl+Z 或者 Ctrl+D,它們都是結束標志;cin 在正常讀取時返回 true,遇到結束標志時返回 false,我們可以根據 cin 的返回值來判斷是否讀取結束。

cin 判斷控制臺(鍵盤)讀取結束

輸入若干個正整數,輸出其中的最大值,程序該如何編寫?

#include <iostream> using namespace std; int main() {int n;int maxN = 0;while (cin >> n){ //輸入沒有結束,cin 就返回 true,條件就為真if (maxN < n)maxN = n;}cout << maxN <<endl;return 0; }

在 Windows 下運行該程序,先輸入以下整數:

10 30 93 206 8

然后在按下 Ctrl+Z 組合鍵(可以在當前行,也可以在新的一行),接著按下回車鍵,輸入就結束了,此時 cin 返回 false,循環結束,得到了最大值。

完整的輸入輸出結果如下所示:

1030932068^Z↙ 206

↙表示回車鍵,^Z表示 Ctrl+Z 組合鍵。

cin 判斷文件讀取結束

如果將標準輸入重定向為某個文件,如在程序開始添加freopen(“test.txt”, “r”, stdin);語句,或者不添加上述語句,但是在 Windows 的“命令提示符”窗口中輸入:

mycin < test.txt //假設編譯生成的可執行文件的名字為 mycin.exe

則都能使得本程序不再從鍵盤輸入數據,而是從 test.txt 文件輸入數據(前提是 test.txt 文件和 mycin.exe 在同一個文件夾中)。在這種情況下,test.txt 文件中并不需要包含 Ctrl+Z,只要有用空格或回車隔開的若干個正整數即可。

cin 讀到文件末尾時,cin>>n就會返回 false,從而導致程序結束。例如,假定 test.txt 文件中的內容如下所示:

112 23123 34 444 55 44

對于前面的代碼,在“命令提示符”窗口中先 cd 到 mycin.exe 所在目錄,然后輸入mycin < test.txt,則程序的輸出是:

23123

總結

以上是生活随笔為你收集整理的C++ 读取结束的判断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。