在C++中,通常可以使用cin
對象的成員函數eof()
來檢測stdin
輸入是否已經到達結束標志。當stdin
遇到文件結束符(例如在Unix系統上是Ctrl+D,在Windows系統上是Ctrl+Z)時,eof()
函數將返回true
。
下面是一個簡單的示例代碼,展示了如何使用eof()
來檢測stdin
輸入的結束:
#include<iostream>
#include<string>
int main() {
std::string line;
while (std::getline(std::cin, line)) {
if (std::cin.eof()) {
// 到達輸入結束標志
break;
}
// 處理輸入行
std::cout << "Read: "<< line<< std::endl;
}
return 0;
}
在這個示例中,我們使用std::getline()
函數從std::cin
讀取一行輸入,并將其存儲在line
字符串中。然后,我們檢查std::cin.eof()
是否為true
,如果是,則表示已經到達輸入結束標志,我們跳出循環。否則,我們繼續處理輸入行。