当您在C++中使用ignore()时,是否有方法检查那些被忽略的值?我基本上正在阅读一些字符,并希望知道是否忽略了文本中的普通字符,或者如果我首先获得了换行符。谢谢。检查忽略值()值
Q
检查忽略值()值
3
A
回答
1
我不这么认为 - 你必须“自己动手”。
换句话说,我认为你必须编写一些代码,使用get()
从流中读取数据,然后添加一些逻辑来保留你需要的内容并忽略其余部分(同时检查你的忽略内容)。
0
如果您提供的可选delim
参数ignore()
,那么它可以在一个新行停止:
streampos old = is.tellg();
is.ignore(num, '\n');
if (is.tellg() != old + num) {
// didn't ignore "num" characters, if not eof or error then we
// must have reached a newline character.
}
还有一个障碍,虽然 - 当ignore()
打分隔符,它忽略了这一点。因此,如果您完全在您的忽略字符集的末尾敲击分隔符,则tellg()
将返回old + num
。 AFAIK无法判断最后忽略的字符是否是分隔符。也没有办法指定不是单个字符的分隔符。
我也不知道是否以及何时这可能比读取num
字节并搜索新行更快。我最初的想法是,“ignore()
和read()
之间的区别哪一部分不明显?” ;-)
1
如果您实际上不想忽略字符,请不要使用ignore()
来提取它们。 get()
可以做同样的工作,但也存储提取的字符,以便以后可以检查它们。
相关问题
- 1. 检查空值和忽略标签XSLT
- 2. 检查SUM并忽略零值?
- 3. 忽略返回值
- 4. WCF忽略MaxItemsInObjectGraph值
- 5. cassandraOperations.select忽略空值
- 6. BeanUtils.copyProperties忽略空值
- 7. RouteValueDictionary忽略空值
- 8. Printf忽略空值?
- 9. 忽略空值列
- 10. AutoMapper忽略NULL值
- 11. SQL查询来一列,忽略空值
- 12. 忽略MySQL查询结果列空值
- 13. 忽略MYSQL查询中的空值
- 14. mySQL查询;忽略特定的ID值
- 15. 如何让mysql查询忽略值?
- 16. 访问2007 SQL查询忽略0值
- 17. SSRS - 查找设置为忽略 “” 值
- 18. 忽略JSON键值对的条件检查
- 19. 检查不同的值忽略其他列数据
- 20. 什么会导致复选框忽略其检查值?
- 21. 检查空列值的情况下,并忽略它们
- 22. 与array_filter混淆,即使明确检查也忽略0值
- 23. 忽略lambda参数检查
- 24. 忽略utm_ *值与清漆?
- 25. Excel如果忽略值
- 26. Rails datetime_select忽略无效值
- 27. Zend_Validate_GreaterThan忽略相等值
- 28. NPOI 1.2.4忽略IComment.Visible值
- 29. 忽略空值 - 序列化
- 30. 使用Outputcache忽略url值