Tôi đang chạy bản thân mình thông qua một cuốn sách văn bản C + + mà tôi có như là một refresher để lập trình C++. Một trong những vấn đề thực tế (mà không đi vào chi tiết quá nhiều) muốn tôi xác định một hàm có thể được truyền ifstream hoặc cin (ví dụ: istream) làm đối số. Từ đó, tôi phải đọc qua dòng. Rắc rối là, tôi không thể tìm ra cách để có một số điện thoại sử dụng chức năng này và ifstream để tìm hiệu quả kết thúc luồng. Cụ thể,Tìm kết thúc luồng cho cin & ifstream?
while(input_stream.peek() != EOF)
sẽ không hoạt động đối với cin. Tôi có thể rework chức năng để tìm một cụm từ nhất định (như "#End of Stream #" hoặc một cái gì đó), nhưng tôi nghĩ rằng đây là một ý tưởng tồi nếu dòng tập tin tôi vượt qua có cụm từ chính xác này.
Tôi đã nghĩ sử dụng chức năng quá tải, nhưng cho đến nay cuốn sách đã đề cập đến khi nó muốn tôi làm điều này. Tôi có lẽ đang nỗ lực quá nhiều vào vấn đề thực hành này, nhưng tôi thích quá trình sáng tạo và tò mò nếu có một cách để làm điều này mà không quá tải.
Kiểm tra câu hỏi này: http://stackoverflow.com/questions/3197025/end-of-fileeof-of-standard-input -stream-stdin – Archie