当它们复制到我的文件中时,为什么这不会反转向量中的数字?

use*_*500 1 c++

该程序运行完美,我的矢量数量最终在我的文件中,但它们没有反转.

#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

void reversevector(vector<double> &vd, int i, int j)
{
    if(i>=j) {
        double temp = vd[i];
        vd[i]=vd[j];
        vd[j]=temp;
        i++;
        j--;
    }
}
int main() {
    double n = 0;
    vector<double> vd;
    while (cin>>n) {
        vd.push_back(n);
    }

    reversevector(vd,0,vd.size()-1);

    ofstream ofs("reversedlist.txt");

    if(!ofs) {
        cout<<"error";
        exit(1);
    }

    for(int i=0; i<vd.size(); i++){
        ofs<<vd[i];
    }

    ofs.close();
}
Run Code Online (Sandbox Code Playgroud)

例如:如果我将12345放入向量中,它应该将54321打印到我的文件中.当我打开我的文件时,它仍然包含12345.

das*_*ght 6

这条线

if (i >= j)
Run Code Online (Sandbox Code Playgroud)

reversevector功能上应该是

while (i < j)
Run Code Online (Sandbox Code Playgroud)

否则,您有条件地交换第一个和最后一个数字,然后立即退出.