1
我正在写一个程序来解析日志文件,并决定要为C++有关越好,我被击中了与调试断言这条线 -调试断言性病失败::抹去
sLine.erase(remove_if(sLine.begin(), sLine.end(), isspace), sLine.end());
这似乎是因为值为-80的字符在日志文件的第2000行。
所以,我想这
sLine.erase(remove_if(sLine.begin(), sLine.end(), [](char c) { return c >= -1 && c<=255; }), sLine.end());
但是这个代码片断被卡住,没有解释。
所以,最后我有三个问题 -
- 这是为什么调试断言是必需的?
- 第二个代码段失败的原因是什么?
- 您可以提出任何解决方法吗?
感谢您的帮助!
2.噢,是的,我应该扭转这些迹象。我愚蠢。来自“简明英汉词典”工作正常,这个断言是由isspace引发的,而不是标准库,正如我想的那样。谢谢! –