在C++中,通??梢允褂?code>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,如果是,則表示已經到達輸入結束標志,我們跳出循環。否則,我們繼續處理輸入行。