2010-03-13 2 views

ответ

12

std::cin не является файловым потоком, а входным потоком, или istream. Вы можете передать его любой функции, которая принимает istream.

+0

Хотя я считаю, что вызовы, пытающиеся найти или получить длину потока, не удастся, хотя на 100% не уверены. –

4

std::cin является std::istream.

Существует небольшая разница между классом istream и его производным ifstream. ifstream позволяет вам открывать и закрывать файлы, предоставляя open(), close() и is_open(), а также конструктор, который вызывает open() - и все!

Если ваша функция не использует эти методы, она должна принимать istream& вместо ifstream&.

Смежные вопросы