【发布时间】:2015-08-11 17:04:53
【问题描述】:
假设你有两个字符串,你想知道一个是否是另一个的前缀。这是在 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 = ?
当然,我们可以通过编写 for 循环来计算 inputStreamStartsWithPrefix。但是如何以惯用方式(没有 for 循环,使用算法)来做到这一点?
【问题讨论】: