我正在编写一个程序来解析一个日志文件,并决定尽可能地使用 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());
但是这个代码片段没有解释就卡住了。
所以,最后我有三个问题——
- 为什么需要调试断言?
- 第二个代码段失败的原因是什么?
- 您可以建议任何解决方法吗?
谢谢你的帮助!