Предположим, у вас есть две строки, и вы хотите знать, является ли это префиксом другого. Вот один из способов сделать это в C++:Идиоматический способ узнать, если istream начинается со строки на C++?
std::string s = ...;
std::string prefix = ...;
bool sStartsWithPrefix = std::equal(prefix.begin(), prefix.end(), s.begin());
Но предположим, что вместо s
у вас есть входной поток:
std::istream& inputStream = ...;
std::string prefix = ...;
bool inputStreamStartsWithPrefix = ?
Конечно, мы могли бы вычислить inputStreamStartsWithPrefix
написав для цикла. Но как это сделать идиоматично (без цикла for, с алгоритмом)?
'istream :: get'? –