c++文本文件a.txt每行存放一个整数且按从小到大存放,要求将输入的1个整数x放入此文件,且保证文件中数据依然有序。(基于顺序文件的读写操作)

求c++题目,文本文件a.txt每行存放一个整数且按从小到大存放,要求将输入的1个整数x放入此文件,且保证文件中数据依然有序。(基于顺序文件的读写操作),谢谢!

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

int main() {
    int x;
    cout << "请输入一个整数:";
    cin >> x;

    ifstream in("a.txt");  // 以读模式打开文件
    ofstream out("temp.txt");  // 以写模式打开一个临时文件

    int num;
    bool is_inserted = false;
    while (in >> num) {  // 读取文件中所有的整数
        if (num > x && !is_inserted) {  // 如果找到第一个大于x的整数
            out << x << endl;  // 先将x写入临时文件
            is_inserted = true;
        }
        out << num << endl;  // 把当前整数写入临时文件
    }

    if (!is_inserted) {  // 如果x是最大的整数,插入到文件末尾
        out << x << endl;
    }

    in.close();
    out.close();

    remove("a.txt");  // 删除原文件
    rename("temp.txt", "a.txt");  // 重命名临时文件为原文件名

    cout << "插入成功!" << endl;

    return 0;
}