我无法理解为什么我的程序停止了,我找不到错误...我尝试了一些更改但仍然无法理解..并且只显示一行但它应该不止一行...
代码:
void findcomm () {
char det = '**';
for (int i = 0; i < lines.size(); i++) {
string str (lines[i]);
vector<char> k (str.begin(), str.end());
vector<size_t>positions;
size_t pos = str.find (det, 0);
while (pos != string::npos) {
positions.push_back (pos);
pos = str.find (det, pos+1);
}
vector<char> c;
for (int g = positions[0]+2; g < positions.back()-1; g++) {
c.push_back (k[g]);
}
string comm (c.begin(), c.end());
cout << comm << "\n";
comments.push_back (comm);
c.clear ();
k.clear ();
positions.clear ();
}
}
我试图删除这段代码,然后“程序停止”消失了,所以我认为问题出在这里。 提前谢谢!
答案 0 :(得分:0)
尝试在行代码或跟踪代码之间使用getch()
这将帮助您找到它何时退出。还使用异常处理技术
替换
det="**"
det[]={"**"};