我较长的程序中的这段特定代码不断崩溃。它可以正常编译,但随后Windows结束它。
out_stream_names.open("names.dat");
for(int i = a.size(); i>0 ; i=i-1)
{
out_stream_names << a[i] << endl;
}
out_stream_names.close();
我想弄清楚为什么它总是崩溃。我不是要复制代码。谢谢。
最佳答案
很少的信息。但首先要注意的是a.size()
尝试:
out_stream_names.open("names.dat");
for(int i = a.size()-1; i>=0 ; i=i-1)
{
out_stream_names << a[i] << endl;
}
out_stream_names.close();
由于您只希望在偶数索引中输出(在我们遍历的情况下是奇数索引),请使用:
if(i&1) out_stream_names << a[i] << endl;