cvi*_*nte 5 c++ stringstream istream istringstream
因此,我一直试图弄清楚如何等待来自 C++ stringstream 的数据(例如),而不需要不断检查数据是否存在,这非常消耗 CPU。
例如,我完全能够从串行设备读取数据,并在没有数据到达时锁定进程,但不幸的是我无法弄清楚如何使用 C++ 流来做到这一点。
我确信我错过了一些东西,因为 cin 正是这样做的,即等待返回键从 istream 读取中退出,但它是如何做到的呢?
预先感谢您对这个主题的任何了解。
你不能。std::stringstream知道没有任何进一步数据的唯一方法是流中没有任何数据。
然而,这是一个有趣的想法。 <<onstd::stringstream
仅当写入端已关闭时才返回 true。这个想法的唯一问题是std::stringstream没有任何开放或封闭的想法。
然而,真正的问题是你想要实现什么目标。
std::stringstream在进程中运行,在这种情况下,实际上不需要格式化(这是一般 iostream 的抽象)。只需将原始对象填充到std::deque. 唯一需要担心格式化的时候是与外部通信时。 非常有用,例如,当您从文件或其他来源std::istringstream获取字符串时。std::getline同样,std::ostringstream当为某些需要某种字符串的外部源格式化数据时,它很有用。std::stringstream但我从来没有找到;的用途。我认为,这更多是出于正交性的原因。
| 归档时间: |
|
| 查看次数: |
3610 次 |
| 最近记录: |