作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了一个文本文件中的单词列表,所有单词都用换行符分隔。使用 fstream 和 >> 读取它们,并且不知道其中的单词量。我如何告诉程序何时停止?我已经测试过了,变量的值与最后读取的单词保持不变。
最佳答案
提取后检查流的状态总是一个好主意。它会告诉您在执行提取时是否有任何问题,或者文件流是否已到达文件结束字符 (EOF
)。
后一种情况就是您要处理的情况。您需要做的就是在流处于良好状态时执行提取,这通常通过以下方式完成:
while (in >> str) {
// ...
}
在流执行提取之后,调用operator bool()
,它调用!fail()
。使用 while
循环将允许自动执行下一次提取。当流执行了不正确的提取、可能内存不足、遇到 EOF
字符或其他一些用户定义的情况时,它将停止。
关于c++ - 如何在没有剩余单词时使用 >> 停止阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910305/
我是一名优秀的程序员,十分优秀!