我较长的程序中的这段特定代码不断崩溃。它可以正常编译,但随后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;

10-07 19:29
查看更多