【发布时间】:2017-06-14 05:11:17
【问题描述】:
我正在编写一个程序来解析一个日志文件,并决定尽可能使用 C++ 来解决这一问题,我遇到了这一行的调试断言 -
sLine.erase(remove_if(sLine.begin(), sLine.end(), isspace), sLine.end());
这似乎是因为日志文件第 2000 行的值 -80 的字符。
所以,我尝试了这个
sLine.erase(remove_if(sLine.begin(), sLine.end(), [](char c) { return c >= -1 && c<=255; }), sLine.end());
但是这段代码 sn-p 没有解释就卡住了。
所以,最后我有三个问题-
- 为什么需要调试断言?
- 第二个代码sn-p失败的原因是什么?
- 您可以提出任何解决方法?
感谢您的帮助!
【问题讨论】: