直接上代码:
GetWebPageStringTestCase(); //这里用来下载wu.html文档
fstream htmlFileStream;
htmlFileStream.open( “.\wu.html”, ios::in ); //打开指定HTML文件,这里你需要修改成本人的文件地址
istreambuf_iterator<char> fileBeg(htmlFileStream), fileEnd;
string html( fileBeg, fileEnd );
htmlFileStream.close();
//char url[] = “”;
string url= “”;
string url2 = “”;
string fileName = “”;
HTML::ParserDom parser;
tree<HTML::Node> dom = parser.parseTree(html); //程序调试报错在这里
tree<HTML::Node>::iterator it = dom.begin();
tree<HTML::Node>::iterator end = dom.end();
……接下来的是对DOM的遍历
这里是报错信息
GetWebPageStringTestCase(); //这里用来下载wu.html文档
fstream htmlFileStream;
htmlFileStream.open( “.\wu.html”, ios::in ); //打开指定HTML文件,这里你需要修改成本人的文件地址
istreambuf_iterator<char> fileBeg(htmlFileStream), fileEnd;
string html( fileBeg, fileEnd );
htmlFileStream.close();
//char url[] = “”;
string url= “”;
string url2 = “”;
string fileName = “”;
HTML::ParserDom parser;
tree<HTML::Node> dom = parser.parseTree(html); //程序调试报错在这里
tree<HTML::Node>::iterator it = dom.begin();
tree<HTML::Node>::iterator end = dom.end();
……接下来的是对DOM的遍历
这里是报错信息
解决方案
20
上面说很清楚啦,c不满足上面表达式,断言失败,单步调试以检查原因,另外必要时检查函数返回执以确定能否执行成功
10
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
20
代码功能归根结底不是别人帮本人看或讲解或注释出来的;而是被本人静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生本人领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
提醒:再牛×的老师也无法代替学生本人领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。